-
Notifications
You must be signed in to change notification settings - Fork 230
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
why googclient_traceparent, why not just traceparent #2011
Comments
Our current policy is that any attributes created by the client library must be preprended with A lesser reason is that we want to avoid taking up attribute keys in the user space as that is technically a breaking change. For example, if some people were setting Could you describe your desired use case a bit more? I'm guessing you have some process downstream from receiving a message that would be able to extract the Pub/Sub message if you're using pull? But in that case, you will still need to manually read from Pub/Sub attributes. Alternatively, is it that you're using push subscriptions? |
Hey, thanks for explaining! Re: current process Agree with your solution to the lesser reason. My use case is a real-world potpourri languages and instrumentation libraries, where the thing stitching spans together is the W3C Trace Context ( The goal is to create a span anytime a subscriber attempts to handle and ack/nack a message - but I admit this isn't strictly tied to what key names are used for trace propagation. The key issue however, is referencing the publisher's span, which does follow W3C standards( Anyway, I have a workaround—manual context extraction and span creation with span links—but this could be built into the client. Proposal:
|
Thanks for the suggestions! Our context propagation stuff is still up for improvement, for sure. The general idea for the support we've got now is that it's a mechanism to plumb trace IDs through Pub/Sub, between the client libraries. Interoperating with other pieces of the ecosystem seems like a good goal in general. For example, last I heard, there is a desire to be able to pass on the trace IDs through headers in push subscriptions, so it would just connect transparently. Is the basic desire to be able to have more control over the tree of produced spans? Like being able to parent them under another span that's user-controlled? |
The basic desire is twofold:
|
nodejs-pubsub/src/telemetry-tracing.ts
Line 243 in c1bed9e
I noticed that the client sets + extracts trace context using
googclient_traceparent
instead of the standardtraceparent
. This makes it incompatible with vanilla OpenTelemetry context propagation, requiring manual extraction and re-injection.This would improve interoperability with OpenTelemetry out of the box.
Thanks!
The text was updated successfully, but these errors were encountered: