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

OpenTelemetry tracer - Align attributes with OTel HTTP semantic conventions #30821

Open
joaopgrassi opened this issue Nov 10, 2023 · 5 comments
Labels
area/tracing enhancement Feature requests. Not bugs or questions. help wanted Needs help!

Comments

@joaopgrassi
Copy link
Contributor

Title: Align Envoy span attributes with the OTel HTTP semantic conventions

Description:

The OpenTelemetry semantic conventions for HTTP were marked stable in: open-telemetry/semantic-conventions#377.

These conventions were adapted and reviewed by the community and subject-matter experts. As of today, the spans produced by Envoy are of course not aligned with the OTel conventions. This issue is to discuss if the Envoy community wants to align with them.

Pros:

  • Standardization of attributes which provide users a consistent observability experience
  • Observability back-ends can rely on such conventions, also giving a good and consistent experience for users

Cons:

  • It is a breaking change for Envoy users. The existing attributes may be used for alerts, dashboards and etc
  • Envoy records the attributes in a lot of places, and by changing those not only users using the OTel tracer will be impacted but users that use the other available tracers in Envoy, such as XRay, Datadog and etc.

To avoid the hard breaking change, maybe we can have some sort of "opt-in" configuration where users then opt in and Envoy starts producing spans aligned with the OTel HTTP semantic conventions. This allow them to gradually migrated to the new format.

[optional Relevant Links:]

@joaopgrassi joaopgrassi added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Nov 10, 2023
@joaopgrassi joaopgrassi changed the title OpenTelemetry tracer- Align attributes with OTel HTTP semantic conventions OpenTelemetry tracer - Align attributes with OTel HTTP semantic conventions Nov 10, 2023
@htuch
Copy link
Member

htuch commented Nov 13, 2023

+1 on not breaking existing users and providing this as an opt-in capability. Are you planning on picking up this work @joaopgrassi?

@htuch htuch added area/tracing and removed triage Issue requires triage labels Nov 13, 2023
@joaopgrassi
Copy link
Contributor Author

Hi @htuch I'd love to, for now I'm quite busy with the other components still in Envoy (sampler) and also trying to add the new things to Istio.

@htuch
Copy link
Member

htuch commented Nov 20, 2023

Ack, will make as help wanted.

@a-thaler
Copy link

Another inconsistency with the OTel semantics is, that Envoy tracers are adding an error attribute/label/tag to the span in case of an error (see docu). While the attribute is not harmful itself (besides that it does not follow naming conventions), the opentelemetry tracer should additionally set the span "status" to "error" in these situations, as outlined in the spec. That behaviour should be added for the opentelemetry tracer only and that might be even a non-breaking change. Could that missing behaviour be covered in the context of this ticket or is a dedicated ticket useful, as it is not exactly about the attribute naming?

@joaopgrassi
Copy link
Contributor Author

Changing the status to error seems to me something that can be done first, without waiting for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/tracing enhancement Feature requests. Not bugs or questions. help wanted Needs help!
Projects
None yet
Development

No branches or pull requests

3 participants