-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[DOCS-4621] Instructions for using OTel API to send ddtrace data #17518
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work @kayayarai! ✅ regarding the Ruby and general parts of the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few comments from what I noticed so far. Thanks so much for working on this!!
|
||
| Feature | Support? | Notes | | ||
|---------------------------------------|-------------|-----------------------------| | ||
| [OTel Context propagation][1] | Unsupported | [Datadog distributed header format][9] is used instead. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hesitate to say that we don't support OTel context propagation. The tracers have put in a lot of work to support W3C trace context propagation, so saying "Unsupported" here isn't quite right. Maybe a separate callout in the configuration part of these pages that describes how to propagate W3C trace context propagation to support OTel context propagation would be better.
content/en/tracing/trace_collection/otel_instrumentation/ruby.md
Outdated
Show resolved
Hide resolved
| [Span processors][2] | Unsupported | | | ||
| [Span Exporters][3] | Unsupported | | | ||
| `OpenTelemetry.logger` | Special | `OpenTelemetry.logger` is set to the same object as `Datadog.logger`. Configure through [custom logging][10]. | | ||
| Trace/span [ID generators][4] | Special | ID generation is performed by `ddtrace`. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This feature is more about custom id generation, which we don't support. We do allow configuration of 128-bit trace ids (or are in the process of building this feature out across languages), so we should definitely call that out on this page and discuss how to enable it.
…5492) Blocks: DataDog/documentation#17518 The ddtrace Opentelemetry `TracerProvider` is an internal component. It is configured when `ddtrace-run` is used to start an application. This PR add the `TracerProvider` to the public API so that it can be configured by applications that do not use `ddtrace-run`. ### Summary of Changes - Renames the `ddtrace._opentelemetry` package to `ddtrace.otel` - Renames opentelemetry `span.py` to `_span.py` - Renames opentelemetry `trace.py` to `_trace.py` - Updates imports to use the package and module names ## Checklist - [x] Change(s) are motivated and described in the PR description. - [x] Testing strategy is described if automated tests are not included in the PR. - [x] Risk is outlined (performance impact, potential for breakage, maintainability, etc). - [x] Change is maintainable (easy to change, telemetry, documentation). - [x] [Library release note guidelines](https://ddtrace.readthedocs.io/en/stable/contributing.html#Release-Note-Guidelines) are followed. - [x] Documentation is included (in-code, generated user docs, [public corp docs](https://github.com/DataDog/documentation/)). - [x] PR description includes explicit acknowledgement/acceptance of the performance implications of this PR as reported in the benchmarks PR comment. ## Reviewer Checklist - [ ] Title is accurate. - [ ] No unnecessary changes are introduced. - [ ] Description motivates each change. - [ ] Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes unless absolutely necessary. - [ ] Testing strategy adequately addresses listed risk(s). - [ ] Change is maintainable (easy to change, telemetry, documentation). - [ ] Release note makes sense to a user of the library. - [ ] Reviewer has explicitly acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nits I noticed while adding setup instructions for the python tracer.
commit: 659c551.
content/en/tracing/trace_collection/otel_instrumentation/nodejs.md
Outdated
Show resolved
Hide resolved
…-cust-inst' into kari/docs-4621-otel-cust-inst
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left you some minor feedback, but looks good otherwise. PR is approved.
content/en/tracing/trace_collection/custom_instrumentation/java.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/custom_instrumentation/ruby.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/trace_context_propagation/ruby.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/trace_context_propagation/ruby.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/trace_context_propagation/ruby.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/otel_instrumentation/dotnet.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/otel_instrumentation/python.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/otel_instrumentation/ruby.md
Outdated
Show resolved
Hide resolved
content/en/tracing/trace_collection/trace_context_propagation/php.md
Outdated
Show resolved
Hide resolved
Co-authored-by: DeForest Richards <[email protected]>
What does this PR do?
For each supported language, documents how to configure OTel custom instrumentation to be collected with the DD Trace Provider into the ddtrace library, and into Datadog. Plus consolidates Context Propagation docs into a central location.
Motivation
DOCS-4621, DOCS-5092
Additional Notes
Reviewer checklist