diff --git a/docs/README.md b/docs/README.md index 893cbfa8555e08ccfa7467e85e994788b3fcc6e2..c10e7da194c2168e18b7cdd76434734485724fa7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,8 +12,9 @@ * [Open TLS](en/TLS.md) * [Namespace Isolation](en/Namespace.md) * [Token Authentication](en/Token-auth.md) + * [Add your own component library settings in collector](en/Component-libraries-extend.md) * Incubating Features - * Abstract + * [Abstract](en/Incubating/Abstract.md) * Application Toolkit * [Overview](en/Applicaton-toolkit.md) * [OpenTracing Tracer](en/Opentracing.md) diff --git a/docs/en/Component-libraries-extend.md b/docs/en/Component-libraries-extend.md new file mode 100644 index 0000000000000000000000000000000000000000..c90457675f9fa406e691a121d6e76d6db14ccf47 --- /dev/null +++ b/docs/en/Component-libraries-extend.md @@ -0,0 +1,61 @@ +# Component library settings +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: +1. Component Library id, name and languages. +1. Remote server mapping, based on local library. + +**All component names and IDs must be defined in this file.** + +## Component Library id +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. + +- Name: the component name used in agent and UI +- id: Unique ID. All IDs are reserved, once it is released. +- languages: Program languages may use this component. Multi languages should be separated by `,` + +### ID rules +- Java and multi languages shared: (0, 3000] +- .NET Platform reserved: (3000, 4000] +- Node.js Platform reserved: (4000, 5000] +- Go reserved: (5000, 6000] +- PHP reserved: (6000, 7000] + +Example +```yaml +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 mapping +Remote server will be conjectured by the local component. The mappings are based on Component library names. + +- Key: client component library name +- Value: server component name + +```yaml +Component-Server-Mappings: + Jedis: Redis + StackExchange.Redis: Redis + SqlClient: SqlServer + Npgsql: PostgreSQL + MySqlConnector: Mysql + EntityFrameworkCore.InMemory: InMemoryDatabase +``` \ No newline at end of file diff --git a/docs/en/Incubating/Abstract.md b/docs/en/Incubating/Abstract.md new file mode 100644 index 0000000000000000000000000000000000000000..452146d37f62495cfd7961c0ce17b38ea83b74b2 --- /dev/null +++ b/docs/en/Incubating/Abstract.md @@ -0,0 +1,12 @@ +# Incubating Features +Incubating features are developed or contributed from SkyWalking community, +but it is still a prototype or preview. At the same time, they need or their contributors +want to be included in the primary repository. + +The PMC and committer team will evaluate the feature, make sure it stays in optional, +has compatible with current version. + +List some typical incubating features +1. New storage implementor in collector, such as: ElasticSearch HTTP, MySQL... +1. New module provided in collector. +1. New optional plugins in agent.