Skip to content
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

Emit tags suitable for OpenTelemetry 1.18 Semantic Conventions #4997

Closed

Conversation

Olamshin
Copy link

@Olamshin Olamshin commented Dec 3, 2023

Motivation:

Ensure that spans have the right attributes to be classified correctly in an OpenTelemetry backend. OpenTelemetry conventions should override OpenTracing conventions eventually since OpenTracing has been absorbed into OpenTelemetry.

Approach:

Semantic conventions for HTTP & Messaging show some required attributes for OpenTelemetry spans. Extra tags have been added and none removed to ensure backwards compatibility. Added tags seems to be satisfactory for telemetry backends like Uptrace.

This is an upstream fix for eclipse-vertx/vertx-tracing#67

@vietj
Copy link
Member

vietj commented Dec 4, 2023

this seems to be a breaking change that works only for open telemetry, given the name used, can you provide a PR that works and is tested for all tracing integrations please ?

@tsegismont
Copy link
Contributor

@vietj why do you think it is a breaking change? The PR only adds tags.

@Olamshin
Copy link
Author

Olamshin commented Dec 5, 2023

@vietj I believe this PR is not a breaking change, I did not change or remove tags. May I have your reasoning?

I would be opening a PR in vertx-tracing to update tests in that repo. I wanted to get buy-in with this PR and have it possibly merged. I am doing this so that I have passing tests when i open that PR.

@vietj
Copy link
Member

vietj commented Dec 6, 2023

@Olamshin right, then use the same convention : messaging.system -> message.system

@tsegismont
Copy link
Contributor

@Olamshin right, then use the same convention : messaging.system -> message.system

I don't understand, messaging.system is a new tag in this PR, that complies with the otel specification. Which spec do you refer to with message.system?

Btw, the opentracing spec is deprecated and superseded by otel (see opentracing/specification#163)

I think we should update the comment in TagExtractor

@Olamshin
Copy link
Author

Olamshin commented Dec 7, 2023

@vietj messaging.system is specific to OpenTelemetry spec and the reason for this PR. message.system would only make sense if adhering to a Vert.x standard/spec that is not OpenTracing. OpenTracing has been deprecated and the last version of its spec does not include message.system.

@vietj
Copy link
Member

vietj commented Dec 8, 2023

we should keep the actual names and translate them in vertx open tracing when it get the tags. if there are missing tags then we should add them using the same convention

@vietj
Copy link
Member

vietj commented Dec 8, 2023

we can think about changing the tag names in Vert.x 5.0 though but we need to update the vertx tracing implementation to behave like they do now. Perhaps we should consider dropping vertx-opentracing too in 5.0

@vietj
Copy link
Member

vietj commented Dec 8, 2023

@vietj messaging.system is specific to OpenTelemetry spec and the reason for this PR. message.system would only make sense if adhering to a Vert.x standard/spec that is not OpenTracing. OpenTracing has been deprecated and the last version of its spec does not include message.system.

as I explained, use the same convention and translate the tag in vertx Otel implementation. We can consider using the new tag names in Vert.x 5.0

@tsegismont
Copy link
Contributor

Closing, superseded by #5024

@Olamshin thank you, I've used your commit in the other PR and added modifications

@tsegismont tsegismont closed this Dec 8, 2023
@Olamshin
Copy link
Author

@vietj messaging.system is specific to OpenTelemetry spec and the reason for this PR. message.system would only make sense if adhering to a Vert.x standard/spec that is not OpenTracing. OpenTracing has been deprecated and the last version of its spec does not include message.system.

as I explained, use the same convention and translate the tag in vertx Otel implementation. We can consider using the new tag names in Vert.x 5.0

Understood, thanks @vietj & @tsegismont!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants