There are two types of protocols list here.
Probe Protocol. Include the descriptions and definitions about how agent send collected metrics data and traces, also the formats of each entities.
Query Protocol. The backend provide query capability to SkyWalking own UI and others. These queries are based on GraphQL.
They also related to the probe group, for understand that, look Concepts and Designs document. These groups are Language based native agent protocol, Service Mesh protocol and 3rd-party instrument protocol.
Include service, service instance, network address and endpoint meta data register. Purposes of register are
There is two types of protocols to make language agents work in distributed environments.
Cross Process Propagation Headers Protocol v2 is the new protocol for in-wire context propagation, started in 6.0.0-beta release, older protocol is no longer supported.
Since SkyWalking v6.0.0-beta, SkyWalking agent and backend are using Trace Data Protocol v2. SkyWalking Trace Data Protocol v2 define the communication way and format between agent and backend.
The probe in sidecar or proxy could use this protocol to send data to backendEnd. This service provided by gRPC, requires the following key info:
client
or server
. In normal L7 proxy, value is proxy
.3rd-party instrument protocols are not defined by SkyWalking. They are just protocols/formats, which SkyWalking is compatible and could receive from their existed libraries. SkyWalking starts with supporting Zipkin v1, v2 data formats.
Backend is based on modularization principle, so very easy to extend a new receiver to support new protocol/format.
Query protocol follows GraphQL grammar, provides data query capabilities, which depends on your analysis metrics. Read query protocol doc for more details.