w3c / trace-context-amqp

Trace Context: AMQP protocol
https://w3c.github.io/trace-context-amqp/
Other
4 stars 5 forks source link

AMQP version #12

Open blumamir opened 3 years ago

blumamir commented 3 years ago

Hi, I'm writing an instrumentation library for nodejs amqplib for recording distributed traces via rabbitmq.

I came across this specification, and tried to make sense out of it and the AMPQ 0-9-1 implementation I am patching, and got a bit lost. Is this specification only relevant to Version 1.0 of the protocol? or am I missing something?

philsttr commented 2 years ago

As a fellow user, I have fallen into this trap as well. The current revision (18 May 2021) of the "Trace Context: AMQP protocol" is only for AMQP 1.0.

The "Trace Context: AMQP protocol" specification specifically links to the AMQP 1.0 specification, and references concepts that do not exist in AMQP 0-9-1 (such message-annotations, the binary header type, etc).

Regarding AMQP 0-9-1 and AMQP 1.0... quoting from here...

Despite similar names and, to some extent, a common lineage, AMQP 0-9-1 and AMQP 1.0 are completely different messaging protocols and not a revision of the same idea. AMQP 1.0 has a different scope and topology model.

Unfortunately for me, we have AMQP 0-9-1 widely deployed with no plans to move to AMQP 1.0. So the current revision of "Trace Context: AMQP protocol" specification is of no use for us.

It would be great if:

In the meantime, for AMQP 0-9-1, my company will be propagating the trace context in traceparent/tracestate headers of type Long String ('S') defined in Section 4.2.5.3 of AMQP 0-9-1. The values are the exact same string values as defined for HTTP in Trace Context.