Skip to content

Add documentation for enabling OTLP traces in APM SDKs#36498

Open
zacharycmontoya wants to merge 1 commit intomasterfrom
zach.montoya/update-traces-otlp
Open

Add documentation for enabling OTLP traces in APM SDKs#36498
zacharycmontoya wants to merge 1 commit intomasterfrom
zach.montoya/update-traces-otlp

Conversation

@zacharycmontoya
Copy link
Copy Markdown
Contributor

What does this PR do? What is the motivation?

Documents how to configure the APM SDKs to export traces using OTLP rather than the default Datadog protocol. This allows users to send traces to any OTLP-compatible receiver, rather than just the Datadog Agent.

This change was recently released in several language SDKs.

Merge instructions

N/A

Merge readiness:

  • Ready for merge

AI assistance

N/A

Additional notes

N/A

@github-actions github-actions Bot added the Architecture Everything related to the Doc backend label May 5, 2026
Copy link
Copy Markdown
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

LGTM from an SDK perspective

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Preview links (active after the build_preview check completes)

Modified Files

@zacharycmontoya zacharycmontoya marked this pull request as ready for review May 6, 2026 14:34
@zacharycmontoya zacharycmontoya requested review from a team as code owners May 6, 2026 14:34
@buraizu buraizu self-assigned this May 6, 2026
Copy link
Copy Markdown
Contributor

@buraizu buraizu left a comment

Choose a reason for hiding this comment

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

Thanks for the PR, just requesting some minor updates and posted a question

: **Description**: Enables the Datadog SDK's OpenTelemetry interoperability for traces. <br>
**Default**: `false`<br>
**Notes**: The default is `true` in the Java SDK.
**Notes**: This configuration only enables the OpenTelemetry Tracing API. See `OTEL_TRACES_EXPORTER` to emit traces using OTLP.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
**Notes**: This configuration only enables the OpenTelemetry Tracing API. See `OTEL_TRACES_EXPORTER` to emit traces using OTLP.
**Note**: This configuration only enables the OpenTelemetry Tracing API. See `OTEL_TRACES_EXPORTER` to emit traces using OTLP.

: **Description**: Specifies the timeout (in milliseconds) for a single outgoing OTLP logs request. Takes precedence over the general `OTEL_EXPORTER_OTLP_TIMEOUT`. <br>
**Default**: `10000` (10s).

### Traces-specific OTLP configuration
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
### Traces-specific OTLP configuration
### Trace-specific OTLP configuration

`OTEL_TRACES_EXPORTER`
: **Description**: Specifies the trace exporter to be used. <br>
**Accepted values**: `otlp`, `none`. A value of `none` disables the emission of OTel and Datadog traces. <br>
**Default**: `otlp`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
**Default**: `otlp`
**Default**: `otlp`<br>

| Signal Source | Protocol | Port | Destination Component |
|---------------|----------|------|----------------------|
| OTel Metrics and Logs API | OTLP (gRPC/HTTP) | 4317 / 4318 | Datadog Agent OTLP Receiver or DDOT Collector |
| OTel Metrics, Logs, and Traces | OTLP (gRPC/HTTP) | 4317 / 4318 | Datadog Agent OTLP Receiver or DDOT Collector |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This uses the order Metrics, Logs, and Traces but the other file (line 51) uses Traces, Metrics, and Logs. Should one or the other be updated for consistency?

Comment on lines +274 to +275
**Notes**: The Java SDK requires `DD_TRACE_OTEL_ENABLED=true` for this configuration to take effect.<br>
OTLP export is not available for the Ruby, PHP, or Rust language SDKs.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
**Notes**: The Java SDK requires `DD_TRACE_OTEL_ENABLED=true` for this configuration to take effect.<br>
OTLP export is not available for the Ruby, PHP, or Rust language SDKs.
**Notes**:
- The Java SDK requires `DD_TRACE_OTEL_ENABLED=true` for this configuration to take effect.
- OTLP export is not available for the Ruby, PHP, or Rust SDKs.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Two suggestions here:

  • Remove language as this seems to be the only place in the file that SDKs are referred to as language SDKs.
  • Add the two distinct notes as an unordered list to make them easier to notice and scan.

Copy link
Copy Markdown
Contributor

@duncanhewett duncanhewett left a comment

Choose a reason for hiding this comment

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

Somewhere (can be a separate PR) we'll need to document use cases for OTLP export, current limitations (semantics etc), what features work with different setups, etc.

I also think we should label OTLP export as preview for now.

`OTEL_TRACES_EXPORTER`
: **Description**: Specifies the trace exporter to be used. <br>
**Accepted values**: `otlp`, `none`. A value of `none` disables the emission of OTel and Datadog traces. <br>
**Default**: `otlp`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I didn't think the default was otlp. Isn't the default null meaning don't export traces in OTLP?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Architecture Everything related to the Doc backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants