Azure Monitor Exporter: treat UNSPECIFIED span kind as INTERNAL #844
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.
Description:
The Azure Monitor exporter translates spans to different objects depending on the span kind. It currently returns an error if the span kind is set to UNSPECIFIED. This makes sense, because we don't know how to translate those spans.
However this can cause problems when trying to get 3rd party applications to participate in the distributed tracing. One example is NGINX, which supports OpenTracing through the nginx-opentracing plugin. However it does not report a span kind, which means spans reported by NGINX are not exported to Azure Monitor.
This changes the Azure Monitor exporter to treat unspecified span kinds as INTERNAL. While this is not perfect, it does at least report some data for these spans.
@pcwiese Does this change make sense for you? What was the original reason to return an error for unspecified span kind?
Testing:
Added unit test to check that spans with unspecified span kind are treated like internal spans.