Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trace Context: Apache Kafka protocol specification #504

Open
ppatierno opened this issue Oct 13, 2022 · 5 comments
Open

Trace Context: Apache Kafka protocol specification #504

ppatierno opened this issue Oct 13, 2022 · 5 comments

Comments

@ppatierno
Copy link

ppatierno commented Oct 13, 2022

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
Copy link
Contributor

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
Copy link
Author

@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
Copy link
Contributor

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
Copy link
Author

ppatierno commented Mar 30, 2023

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
Copy link
Contributor

kalyanaj commented Mar 30, 2023

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 (w3c/trace-context-protocols-registry#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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants