-
Notifications
You must be signed in to change notification settings - Fork 250
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
Refactor context #564
Comments
I think this should be under context/ not under contrib. The core library should not depend on a contrib package. |
Having a small package of the generic context encourages other libraries to interop (similar like gRPC Context in Java) without having to depend on OpenCensus. |
I just talked to @bogdandrutu, he means putting the package under |
Thanks for clarification @c24t ! Please let me know your preference on the naming and folder structure. Considering we will need to move CorrelationContext and TraceContext as well, probably we just rename |
Personally I like the way how OpenCensus Node.js is organized, so we avoid inventing 1st class and 2nd class citizens. It also gives us flexibility on having |
Moving everything into a top-level |
@bogdandrutu CorrelationContext is a separate package which implements the W3C spec. The opencensus/tags will be implemented leveraging CorrelationContext, while CorrelationContext itself could be used for other purpose (e.g. application developer can put TransactionId and UserIdentity). |
@bogdandrutu @c24t I don't have strong opinion on the naming and folder structure, so let's use the way @c24t proposed. |
@reyang I am very confused, my understanding is completely different. The current opencensus/tags are used exactly for this purpose: can be used to construct stats (metrics) or appended to logs or to Spans. |
@bogdandrutu If the user wants to propagate a TransactionId within/across the process, which has nothing to do with trace/logs/metrics, do we expect CorrelationContext to be used, or we expect opencensus/tags to be used? |
If TransactionId is used to correlate different telemetry events than that should be in what we currently call tags, if that is for a different purpose I expect them to use a different header. |
It is for a different purpose (not to correlate telemetry, but to tell the transaction system about the distributed transaction scope). |
@bogdandrutu @reyang we discussed the correlation context and tags relationships with @reyang offline. So the idea that @reyang has is to provide a library that will have inject/extract utility methods for correlation context that can be used outside of Open Census. Like a reference implementation for W3C that somebody can use outside of Open Census. In Open Census - every name/value pair from CC header will be represented as a tag. And tags API will be the only API to manipulate CC values. Exporter will decide which tags needs to be consumed. Perhaps we may have metadata properties that may categorize tags into telemetry/non-telemetry tags. But it is optional. |
This is to support census-instrumentation/opencensus-specs#247.
@c24t @bogdandrutu @discostu105
The text was updated successfully, but these errors were encountered: