From 771bc87e7a36cb492c621b5eac33f80de71b59e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Tue, 8 May 2018 11:24:31 +0800 Subject: [PATCH] Add document of component library settings and incuating features abstract. (#1185) --- docs/README.md | 3 +- docs/en/Component-libraries-extend.md | 61 +++++++++++++++++++++++++++ docs/en/Incubating/Abstract.md | 12 ++++++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 docs/en/Component-libraries-extend.md create mode 100644 docs/en/Incubating/Abstract.md diff --git a/docs/README.md b/docs/README.md index 893cbfa85..c10e7da19 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 000000000..c90457675 --- /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 000000000..452146d37 --- /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. -- GitLab