Skip to content

Conversation

@brett0000FF
Copy link
Contributor

@brett0000FF brett0000FF commented Oct 10, 2025

What does this PR do? What is the motivation?

Previews:

TODOs:

  • TODO: Build out a structure to fill in docs for OTel metrics and logs APIs.
  • TODO: Build out page-level templates.
    • Note: See Python and Java metrics.
  • TODO: Fill in detailed content.
  • TODO: Link to metrics and logs docs from APM > Custom Instrumentation.
  • TODO: Edit trace-specific content e.g. otel-custom-instrumentation snippet.

Changes:

  • Added page-level tabs for Traces, Metrics, and Logs for all languages.
  • Added new environment variables and log/metrics content to content/en/opentelemetry/config/environment_variable_support.md.
  • Updated content/en/opentelemetry/instrument/api_support/_index.md to include metrics and logs details.
  • Created reusable shortcodes to use across pages to make maintenance easier.
    • layouts/shortcodes/otel-config-precedence.en.md: Config precedence content.
    • layouts/shortcodes/otel-overview-exporter.en.md : Exporter-based setup overview content.
    • layouts/shortcodes/otel-overview-native.en.md: Native-based setup overview content.

Merge instructions

Merge readiness:

  • Ready for merge

For Datadog employees:

Your branch name MUST follow the <name>/<description> convention and include the forward slash (/). Without this format, your pull request will not pass CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.

If your branch doesn't follow this format, rename it or create a new branch and PR.

[6/5/2025] Merge queue has been disabled on the documentation repo. If you have write access to the repo, the PR has been reviewed by a Documentation team member, and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #documentation channel in Slack.

Additional notes

@github-actions github-actions bot added the Architecture Everything related to the Doc backend label Oct 10, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 10, 2025

Preview links (active after the build_preview check completes)

New or renamed files

Removed or renamed files (these should redirect)

Modified Files

Copy link
Contributor

@mabdinur mabdinur left a comment

Choose a reason for hiding this comment

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

The overall structure looks good to me, this provides a solid foundation for the documentation.

Content-wise, support for the OpenTelemetry Logs and Metrics APIs is provided through two mechanisms depending on the SDK language.

In Python, Ruby, Go, and Rust Datadog SDKs, customers should install an OpenTelemetry OTLP Exporter and set DD_{METRICS,TRACE,LOGS}_OTEL_ENABLED=True. Automatic instrumentation should be used where available; if a library doesn’t support it yet, we’ll provide manual instrumentation examples. Here’s a Python example currently in review: https://github.com/DataDog/dd-trace-py/blob/ffe86e62eade9978aa3519f446767566e52963b3/ddtrace/opentelemetry/__init__.py

In Java, PHP, Node.js, and .NET Datadog SDKs, these libraries don’t rely on (or can not be installed alongside) the OpenTelemetry SDK . Instead, they implement the OpenTelemetry APIs in a way that closely mirrors how OpenTelemetry SDK encodes and submits Metrics and Logs. Customers shouldn’t install an OpenTelemetry Exporter in these SDKs. For automatic instrumentation, they are expected to set DD_{METRICS,TRACE,LOGS}_OTEL_ENABLED=True and use the Logs or Metrics API. The Datadog SDK will send data in an OpenTelemetry compatible format (OTLP). For manual instrumentation, each library exposes a MeterProvider and LogsProvider (similar to TracerProvider) that can be configured using the OpenTelemetry API. Example (Node.js, in review): https://github.com/DataDog/dd-trace-js/blob/272ea2773117168fbda72c31150b8f07162354fe/docs/API.md#opentelemetry-logs

All SDKs will support the configurations described here: https://docs.google.com/document/d/1HHcIAa9GzoMsQaOU_G9G19cwwvfXVaVf9UOi6yFKaT0/edit?tab=t.0#heading=h.u0kkcufm68ls. There might be slight difference between implementations but it will be good to centralize these configs in one place.

For each Datadog SDK the metrics and logs API should be fully supported within the next few months (🤞 ).

@brett0000FF
Copy link
Contributor Author

brett0000FF commented Oct 31, 2025

@mabdinur - This should now be in a good place for you to review and fill in some more detailed content! I left lots of placeholders for config or code examples. Feel free to adjust anything. 🙇

Note that there may be some wonky artifacts due to copying the template from Python and Java metrics pages to all other languages. Also, I created some shortcodes for a few sections. This way we can update the content in one place and have it update everywhere (like in the overviews). There might be more opportunities to do this, so let me know if you think anything would be shared across each language.

Happy to adjust anything if you have different perspectives on the sections I added. Thanks!

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.

3 participants