w3c / trace-context

Trace Context
https://w3c.github.io/trace-context/
Other
463 stars 74 forks source link

Trace Context: Apache Kafka protocol specification #504

Open ppatierno opened 1 year ago

ppatierno commented 1 year ago

We know that the Apache Kafka protocol is not a standard one (so recognized by organization like OASIS) but I was wondering if it could make sense to have a trace context for Kafka specification as I see for MQTT and AMQP 1.0 and how to be engaged for it. In the end it would be simple as the other ones like using headers in a Kafka message to bring trace context related fields.

kalyanaj commented 1 year ago

Thanks @ppatierno for filing this issue, and apologies on the delay in our response.

We discussed this in the DT working group meeting today. Yes, it makes sense to specify how to handle trace context propagation for messaging systems in general (where we think there will be good overlap across many of the common/popular systems). That said, the working group doesn't have the bandwidth and messaging expertise at this point to take this up to drive it further. If you would like to be involved in this effort, please let us know.

ppatierno commented 1 year ago

@kalyanaj thanks for answering! May I ask what would be the process (i.e. expectations, steps, tooling, ...) to have something out, in order for me to evaluate the workload and the bandwidth as well? My expectation would be writing something similar to what we have for MQTT and AMQP but for the Kafka protocol. Unless you have more in mind. Thanks!

kalyanaj commented 1 year ago

Hi @ppatierno, sorry about the delay in getting back. We have a protocol registry: please see https://w3c.github.io/trace-context-protocols-registry/#registration-entry-requirements-and-update-process for the process to include trace context specification for a new protocol. We recommend that if you produce the trace context specification for the Kafka protocol, you can ask us to link to it from this protocol registry.

ppatierno commented 1 year ago

Hi @kalyanaj no worries ;-) ... thanks for replying. I have a couple of question related to what is written at that link.

Each entry should include a link that references a public available specification (PAS) that defines the trace context [TRACE-CONTEXT] serialization and deserialization for that protocol.

What's the way to push such a specification as there are for AMQP and MQTT hosted on the https://w3c.github.io/ website? Is there a specific repo to open and push a PR? Or it can be hosted somewhere else? I noticed that the CloudEvents specification has a link out of W3C but right now the link is broken. FYI, it seems that the new link is this one but I am not part of the CloudEvents community to confirm that.

Each entry must include contact information of the requestor.

I see that right now there is W3C and CloudEvents. Has it to be a company? A community? A foundation? What about the editors? What should be the relationship between editors and requestor?

kalyanaj commented 1 year ago

Thanks @ppatierno. Yes, the recommendation is to host it externally and link to it from here. BTW, I have created a PR to fix the broken link for the cloudevents specification (https://github.com/w3c/trace-context-protocols-registry/pull/13/).

I see that right now there is W3C and CloudEvents. Has it to be a company? A community? A foundation? What about the editors? What should be the relationship between editors and requestor?

My understanding is that it can be anything (a company / community / foundation etc.) - there are no restrictions/constraints. Basically, in this case this process is happening external to W3C and you are linking to that specification from this protocol registry. Adding @plehegar in case he wants to clarify/add anything.