Add formal Azure SDK tracing conventions #3260
Merged
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.
Tracing conventions are essential for tracing vendors to visualize traces and build metrics.
Azure SDK currently uses a mixture of OpenTelemetry conventions and custom ones. Some of the custom conventions such as logical API calls or additional attributes comply with OpenTelemtery while messaging and database convention diverged from OpenTelemtery.
While we want to adopt the OpenTelemetry convention, they are in experimental status and don't always support our scenarios. We're going to give them some time (and help) to stabilize, but in the meantime, we have to document current schemas as a contract between Azure SDKs and Azure Monitor (and may be other exporters that would want to adopt them). This is a prerequisite for Azure Monitor exporter support for Azure SDKs.
Going forward all conventions should be captured here to serve as a source of truth across languages.