SkyWalking is more likely an APM system, rather than common distributed tracing system. The Headers is much more complex than them in order to improving analysis performance of collector. You can find many similar mechanism in other commercial APM system.(Some even much more complex than us)
sw3
|
, the parts are following.The header protocol came from SkyWalking 3, back to 2017. So sw3 header name keeps now.
The trace segment id is the unique id for the part of the distributed trace. Each id is only used in a single thread. The id includes three parts(Long), e.g. "1.2343.234234234
If you are using other language, you can generate your own id, but make sure it is unique and combined by three longs.
An integer, unique in a trace segment. Start with 0;
The instance id of the parent node, e.g. for a server of RPC, this id is from the client application instance id.
The instance id of the entry application. e.g. A distributed trace A->B->C
, the id is from A
.
The peer-host/peer-id from client side. e.g. client uses 182.14.39.1:9080
to access server, this ip:port is the peer host.
This value can use exchange/compress collector service to get the id(integer) to represent the string. If you use the string, it must start with #
, others use integer directly.
The operation name/id of entry span propagates from Entry Application Instance
.
This value can use exchange/compress collector service to get the id(integer) to represent the string. If you use the string, it must start with #
, others use integer directly.
The operation name/id of entry span propagates from Parent Application Instance
.
This value can use exchange/compress collector service to get the id(integer) to represent the string. If you use the string, it must start with #
, others use integer directly.
The distributed trace id of the whole trace, if in a batch process, it comes from the trace of first batch producer. The rule is as same as Trace Segment Id
with three Longs.
1.2343.234234234|1|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|1.2343.234234234
1.2343.234234234|1|1|1|#127.0.0.1:8080|#/portal/|1038|1.2343.234234234