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

New component: Datadog Semantic Processor #35304

Open
2 of 3 tasks
IbraheemA opened this issue Sep 19, 2024 · 6 comments
Open
2 of 3 tasks

New component: Datadog Semantic Processor #35304

IbraheemA opened this issue Sep 19, 2024 · 6 comments
Assignees
Labels
Accepted Component New component has been sponsored never stale Issues marked with this label will be never staled and automatically removed

Comments

@IbraheemA
Copy link
Contributor

IbraheemA commented Sep 19, 2024

The purpose and use-cases of the new component

Currently the way in which OpenTelemetry semantics are mapped to those in Datadog is documented, but it is hard to observe the output of this mapping before it is shipped to Datadog since it is executed by the datadogexporter. This is problematic because users are often confused by the logic or wish to override it.

Rather than silently mapping over OpenTelemetry semantics to Datadog semantics in our datadogexporter we will provide a datadogsemanticsprocessor that performs the same mapping explicitly within the context of OpenTelemetry signals and namespaces the result under datadog.

This work will also involve modifying datadogexporter to expect signals in the new format.

Example configuration for the component

receivers:
  otlp:
    protocols:
      http:
      grpc:
processors:
  datadogsemantics:
exporters:
  debug:
  datadog:
        # ...

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [datadogsemantics]
      exporters: [datadog]
    traces/debug:
      receivers: [otlp]
      processors: [datadogsemantics]
      exporters: [debug]

Telemetry data types supported

Traces, metrics, and logs

Is this a vendor-specific component?

  • This is a vendor-specific component
  • If this is a vendor-specific component, I am a member of the OpenTelemetry organization.
  • If this is a vendor-specific component, I am proposing to contribute and support it as a representative of the vendor.

Code Owner(s)

@IbraheemA

Sponsor (optional)

@songy23

Additional context

No response

@IbraheemA IbraheemA added needs triage New item requiring triage Sponsor Needed New component seeking sponsor labels Sep 19, 2024
@dmitryax
Copy link
Member

@songy23 will you sponsor this component?

@songy23
Copy link
Member

songy23 commented Oct 1, 2024

I sponsor!

@songy23 songy23 added Accepted Component New component has been sponsored and removed Sponsor Needed New component seeking sponsor needs triage New item requiring triage labels Oct 1, 2024
Copy link
Contributor

github-actions bot commented Dec 2, 2024

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

@github-actions github-actions bot added the Stale label Dec 2, 2024
@songy23 songy23 added never stale Issues marked with this label will be never staled and automatically removed and removed Stale labels Dec 23, 2024
songy23 pushed a commit that referenced this issue Mar 12, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
#36918)

…>DD trace semantics

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This PR introduces a new component, `datadogsemanticsprocessor`. See
linked issue for more information.

This first iteration only performs the semantic mapping for traces -
logs and metrics will be added in followup PRs.

Future versions will also add more attributes to the mapping.


<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue

#35304



<!--Describe what testing was performed and which tests were added.-->
#### Testing

Ran unit tests, ran collector with datadogsemanticsprocessor in trace
pipeline and verified that `datadog.` prefixed fields are outputted as
expected.

<!--Describe the documentation added.-->
#### Documentation
Added changelog. OTLP->DD semantic mappings are documented on [this
public facing
document.](https://docs.datadoghq.com/opentelemetry/schema_semantics/semantic_mapping/?tab=datadogexporter)

<!--Please delete paragraphs that you did not use before submitting.-->

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
@julealgon
Copy link

Can someone clarify if this is a breaking change for 0.122.0?

I see the component mentioned in the release notes:

But it doesn't state what happens next. Are we required to use this processor when upgrading to 122, or is the exporter going to still support "the old format" for a while?

I need to know this as we are preparing documentation for the 122 upgrade, and we need to know exactly what is the consequence of this change here.

@songy23
Copy link
Member

songy23 commented Mar 19, 2025

@julealgon it is still under development and is not ready for use. @IbraheemA will post updates (blog / announcement) once it is ready.

@songy23
Copy link
Member

songy23 commented Mar 19, 2025

Also to clarify: you are not required to use this processor even after it is ready. The old OTel -> DD way will continue to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Component New component has been sponsored never stale Issues marked with this label will be never staled and automatically removed
Projects
None yet
Development

No branches or pull requests

4 participants