Add component library settings document back.
This commit is contained in:
parent
b0b7de9442
commit
1e51702bab
|
|
@ -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
|
||||
```
|
||||
|
|
@ -157,10 +157,8 @@ SpanLayer is the catalog of span. Here are 5 values:
|
|||
1. HTTP
|
||||
1. MQ
|
||||
|
||||
Component IDs are defined and protected by SkyWalking project, 0 -> 10000 IDs are reserved. If you want to contribute
|
||||
a new plugin, you can ask for an official ID, after your pull request approved and automatic test cases accepted by PMC.
|
||||
Please use > 10000 ID, if you are going to develop a private plugin or don't intend to contribute the plugin to community,
|
||||
to avoid the ID conflict.
|
||||
Component IDs are defined and reserved by SkyWalking project.
|
||||
For component name/ID extension, please follow [component library setting document](../../backend/Component-library-settings.md).
|
||||
|
||||
## Develop a plugin
|
||||
### Abstract
|
||||
|
|
|
|||
|
|
@ -67,6 +67,10 @@ Now, we have the following known plugins.
|
|||
* If you want to use annotations or SkyWalking native APIs to read context, try [SkyWalking manual APIs](Application-toolkit-trace.md)
|
||||
* If you want to continue traces across thread manually, use [across thread solution APIs](Application-toolkit-trace-cross-thread.md).
|
||||
|
||||
## Plugin Development Guide
|
||||
SkyWalking java agent supports plugin to extend [the supported list](Supported-list.md). Please follow
|
||||
our [Plugin Development Guide](Plugin-Development-Guide.md).
|
||||
|
||||
# Test
|
||||
If you are interested in plugin compatible tests or agent performance, see the following reports.
|
||||
* [Plugin Test](https://github.com/SkywalkingTest/agent-integration-test-report)
|
||||
|
|
|
|||
Loading…
Reference in New Issue