Component library settings are about your own or third-party libraries used in the monitored application.
In agent or SDK, regardless of whether the library name is collected as ID or String (literally, e.g. SpringMVC), the collector formats data in ID for better performance and less storage requirements.
Also, the collector conjectures the remote service based on the component library. For example: if the component library is MySQL Driver library, then the remote service should be MySQL Server.
For these two reasons, the collector requires two parts of settings in this file:
All component names and IDs must be defined in this file.
Define all names and IDs from component libraries which are used in the monitored application. This uses a two-way mapping strategy. The agent or SDK could use the value (ID) to represent the component name in uplink data.
,
.Example:
Tomcat: id: 1 languages: Java HttpClient: id: 2 languages: Java,C#,Node.js Dubbo: id: 3 languages: Java H2: id: 4 languages: Java
The remote server will be conjectured by the local component. The mappings are based on names in the component library.
Component-Server-Mappings: Jedis: Redis StackExchange.Redis: Redis Redisson: Redis Lettuce: Redis Zookeeper: Zookeeper SqlClient: SqlServer Npgsql: PostgreSQL MySqlConnector: Mysql EntityFrameworkCore.InMemory: InMemoryDatabase