open-telemetry / opentelemetry-collector-contrib

Contrib repository for the OpenTelemetry Collector
https://opentelemetry.io
Apache License 2.0
2.95k stars 2.29k forks source link

New component: Datadog Semantic Processor #35304

Open IbraheemA opened 1 week ago

IbraheemA commented 1 week ago

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?

Code Owner(s)

@IbraheemA

Sponsor (optional)

@songy23

Additional context

No response

dmitryax commented 5 days ago

@songy23 will you sponsor this component?