Component library settings are about your own or 3rd part libraries used in monitored application.
In agent or SDK, no matter library name collected as ID or String(literally, e.g. SpringMVC), collector formats data in ID for better performance and less storage requirements.
Also, collector conjectures the remote service based on the component library, such as: the component library is MySQL Driver library, then the remote service should be MySQL Server.
For those two reasons, collector require two parts of settings in this file:
All component names and IDs must be defined in this file.
Define all component libraries' names and IDs, used in monitored application. This is a both-way mapping, 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
Remote server will be conjectured by the local component. The mappings are based on Component library names.
Component-Server-Mappings: Jedis: Redis StackExchange.Redis: Redis Redisson: Redis Lettuce: Redis Zookeeper: Zookeeper SqlClient: SqlServer Npgsql: PostgreSQL MySqlConnector: Mysql EntityFrameworkCore.InMemory: InMemoryDatabase