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

Introduce OpenTelemetry observability service #717

Merged

Conversation

joaopgrassi
Copy link
Contributor

@joaopgrassi joaopgrassi commented Sep 20, 2021

Resolves #554, #693

This PR

  • Adds a new implementation of the ObservabilityService interface for OpenTelemetry. The new observability service is similar to the existing one for OpenCensus.
  • Exposes inject and extract functions to read and write W3C Trace Context data to/from events respectively.
  • Exposes helper methods to create (and extend) CloudEvents HTTP clients enabled with OpenTelemetry
  • A sample project demonstrating how to use the "observed" client with OpenTelemetry (with spans that can be viewed with Jaeger)
  • Tests (in a separated module to not impose the OTel default SDK as a transitive dependency for users)

Note: The observability service is only producing spans at the moment. Metrics support can be added once the SDK is more stable.

Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Georg Pirklbauer <georg.pirklbauer@dynatrace.com>
Signed-off-by: Joao Grassi <joao.grassi@dynatrace.com>
@joaopgrassi joaopgrassi changed the title Introduce OpenTelemetry observability service (#2) Introduce OpenTelemetry observability service Sep 21, 2021
Signed-off-by: Joao Grassi <joao.grassi@dynatrace.com>
@n3wscott
Copy link
Member

AWESOME!! I am reviewing now, give me a day or two, thanks so much!

@joaopgrassi
Copy link
Contributor Author

@n3wscott there might be some changes related to the attributes that are added to the spans created by the ObservabilityService. It's currently being discussed in my PR on the OTel spec. In case you want to see it: open-telemetry/opentelemetry-specification#1978

Not sure which is going to be reviewed/merged first, but if this is merged first, then I can change it later to adhere with the OTel spec :).

Copy link
Member

@n3wscott n3wscott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

amazing work, with tests, samples and READMEs and everything!! I can't wait to use this instead of the open census integration.

@n3wscott n3wscott merged commit 74757a6 into cloudevents:main Oct 1, 2021
@arminru arminru deleted the add-otel-obsservice branch October 6, 2021 12:19
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.

Migrate to OpenTelemetry
2 participants