Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goals
Switch the underlying tracing library to OpenTelemetry, with a bridge to OpenCensus for
compatibility
But why? cause OpenCensus is merged into OpenTelemetry and will go away one day in the future.
Implementation
Don't worry, this changes none of your existing OpenCensus calls! But it switches the underlying library to OpenTelemetry, using an Opencensus Bridge.
Theoretically, no changes. However, libraries that use OpenTelemetry might now get their traces picked up (see for example... the recently merged Graphsync OpenTelemetry instrumentation
But bonus -- you can no start converting your OpenCensus traces... at your leisure. Theoretically, all the spans will still stack.
What about metrics? -- there's a bridge for that too, but I haven't attempted to set it up here.
Why is this so complicated and weird? - a great question. I find it ridiculously complicated too and wish I didn't know about all these OpenSomeFakeInstrumentationStandardThatWillChangeAgainInACoupleYears libraries as part of my career as a programmer, but now I've had to learn them just to get the damn tracing working.