From 82e91813fe9680f9f8df3eeb04c0b33d11eeb4c2 Mon Sep 17 00:00:00 2001 From: Pablo Baeyens Date: Fri, 17 May 2024 16:25:55 -0400 Subject: [PATCH 1/3] [chore][exporter/datadog] Add Datadog connector to all examples using traces --- .../examples/batch-memory.yaml | 7 +++++++ .../datadogexporter/examples/collector.yaml | 21 ++++++++++++++++--- .../examples/host-metadata.yaml | 2 +- .../datadogexporter/examples/ootb-ec2.yaml | 9 +++++++- exporter/datadogexporter/examples/otlp.yaml | 9 +++++++- .../examples/trace-metrics.yaml | 2 +- 6 files changed, 43 insertions(+), 7 deletions(-) diff --git a/exporter/datadogexporter/examples/batch-memory.yaml b/exporter/datadogexporter/examples/batch-memory.yaml index 109e7811e058e..9ac547fabd065 100644 --- a/exporter/datadogexporter/examples/batch-memory.yaml +++ b/exporter/datadogexporter/examples/batch-memory.yaml @@ -20,11 +20,18 @@ exporters: api: key: ${env:DD_API_KEY} +connectors: + datadog/connector: + service: pipelines: traces: receivers: [otlp] processors: [batch, memory_limiter] + exporters: [datadog/connector] + traces/sampling: + receivers: [datadog/connector] + processors: [batch, memory_limiter] exporters: [datadog] metrics: receivers: [otlp] diff --git a/exporter/datadogexporter/examples/collector.yaml b/exporter/datadogexporter/examples/collector.yaml index c059969120bb6..594c1083cdf19 100644 --- a/exporter/datadogexporter/examples/collector.yaml +++ b/exporter/datadogexporter/examples/collector.yaml @@ -158,6 +158,12 @@ processors: resourcedetection: detectors: [gcp, ecs, ec2, azure, system] +# Read more about exporters here: +# https://opentelemetry.io/docs/collector/configuration/#connectors +connectors: + # The Datadog connector is necessary for APM Trace metrics. + datadog/connector: + # Read more about exporters here: # https://opentelemetry.io/docs/collector/configuration/#exporters exporters: @@ -483,15 +489,24 @@ service: # Pipelines starting with `metrics` or `metrics/` define a metrics pipeline. metrics: # This pipeline has an OTLP receiver, a batch processor and a Datadog exporter. - # It also has additional receivers which generate valuable metrics. - receivers: [hostmetrics, docker_stats, otlp] + # It also has additional receivers which generate valuable metrics and the Datadog connector for trace metrics. + receivers: [hostmetrics, docker_stats, otlp, datadog/connector] processors: [k8sattributes, batch] exporters: [datadog] # Pipelines starting with `traces` or `traces/` define a traces pipeline. traces: - # This pipeline has an OTLP receiver, a batch processor and a Datadog exporter. + # This pipeline has an OTLP receiver, a batch processor and a Datadog connector. + # It sends all the traces to the Datadog connector for generating trace metrics. receivers: [otlp] processors: [k8sattributes, batch] + exporters: [datadog/connector] + traces/sampling: + # This pipeline has a Datadog connector, a batch processor and a Datadog exporter. + # It receivers all traces from the Datadog connector and sends them to Datadog. + # Add any sampling here, so that the generated trace metrics account for all traces. + receivers: [datadog/connector] + # Add any sampling here + processors: [] exporters: [datadog] # Pipelines starting with `logs` or `logs/` define a logs pipeline. diff --git a/exporter/datadogexporter/examples/host-metadata.yaml b/exporter/datadogexporter/examples/host-metadata.yaml index 4f9ac655329e2..1600398337558 100644 --- a/exporter/datadogexporter/examples/host-metadata.yaml +++ b/exporter/datadogexporter/examples/host-metadata.yaml @@ -33,7 +33,7 @@ service: receivers: [otlp] processors: [batch, transform] exporters: [datadog/connector] - traces/2: + traces/sampling: receivers: [datadog/connector] processors: [batch, probabilistic_sampler] exporters: [datadog] diff --git a/exporter/datadogexporter/examples/ootb-ec2.yaml b/exporter/datadogexporter/examples/ootb-ec2.yaml index 69be7f66deb38..608cf41be2995 100644 --- a/exporter/datadogexporter/examples/ootb-ec2.yaml +++ b/exporter/datadogexporter/examples/ootb-ec2.yaml @@ -97,15 +97,22 @@ exporters: traces: trace_buffer: 500 +connectors: + datadog/connector: + service: pipelines: metrics: - receivers: [otlp, hostmetrics] + receivers: [datadog/connector, otlp, hostmetrics] processors: [batch, resourcedetection, memory_limiter] exporters: [datadog] traces: receivers: [otlp] processors: [batch, resourcedetection, memory_limiter] + exporters: [datadog/connector] + traces/sampling: + receivers: [datadog/connector] + processors: [batch, resourcedetection, memory_limiter] exporters: [datadog] logs: receivers: [otlp, filelog] diff --git a/exporter/datadogexporter/examples/otlp.yaml b/exporter/datadogexporter/examples/otlp.yaml index a251246c7fc16..b4893787c1754 100644 --- a/exporter/datadogexporter/examples/otlp.yaml +++ b/exporter/datadogexporter/examples/otlp.yaml @@ -19,15 +19,22 @@ exporters: site: ${env:DD_SITE} key: ${env:DD_API_KEY} +connectors: + datadog/connector: + service: pipelines: metrics: - receivers: [otlp] + receivers: [otlp, datadog/connector] processors: [batch] exporters: [datadog] traces: receivers: [otlp] processors: [batch] + exporters: [datadog/connector] + traces/2: + receivers: [datadog/connector] + processors: [batch] exporters: [datadog] logs: receivers: [otlp] diff --git a/exporter/datadogexporter/examples/trace-metrics.yaml b/exporter/datadogexporter/examples/trace-metrics.yaml index ef83f5fe85704..8dec10e1fafeb 100644 --- a/exporter/datadogexporter/examples/trace-metrics.yaml +++ b/exporter/datadogexporter/examples/trace-metrics.yaml @@ -24,7 +24,7 @@ service: receivers: [otlp] processors: [batch] exporters: [datadog/connector] - traces/2: + traces/sampling: receivers: [datadog/connector] processors: [batch, probabilistic_sampler] exporters: [datadog] From 7f6f8dcbcc97bfbef156a9e07cdccec658a89803 Mon Sep 17 00:00:00 2001 From: Pablo Baeyens Date: Tue, 21 May 2024 17:44:22 +0200 Subject: [PATCH 2/3] [exporter/datadog] Change order of processors to follow upstream recommendation --- exporter/datadogexporter/examples/batch-memory.yaml | 8 ++++---- exporter/datadogexporter/examples/ootb-ec2.yaml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/exporter/datadogexporter/examples/batch-memory.yaml b/exporter/datadogexporter/examples/batch-memory.yaml index 9ac547fabd065..03244c9561d99 100644 --- a/exporter/datadogexporter/examples/batch-memory.yaml +++ b/exporter/datadogexporter/examples/batch-memory.yaml @@ -27,17 +27,17 @@ service: pipelines: traces: receivers: [otlp] - processors: [batch, memory_limiter] + processors: [memory_limiter, batch] exporters: [datadog/connector] traces/sampling: receivers: [datadog/connector] - processors: [batch, memory_limiter] + processors: [memory_limiter, batch] exporters: [datadog] metrics: receivers: [otlp] - processors: [batch, memory_limiter] + processors: [memory_limiter, batch] exporters: [datadog] logs: receivers: [otlp] - processors: [batch, memory_limiter] + processors: [memory_limiter, batch] exporters: [datadog] diff --git a/exporter/datadogexporter/examples/ootb-ec2.yaml b/exporter/datadogexporter/examples/ootb-ec2.yaml index 608cf41be2995..731060d5e4b6e 100644 --- a/exporter/datadogexporter/examples/ootb-ec2.yaml +++ b/exporter/datadogexporter/examples/ootb-ec2.yaml @@ -104,17 +104,17 @@ service: pipelines: metrics: receivers: [datadog/connector, otlp, hostmetrics] - processors: [batch, resourcedetection, memory_limiter] + processors: [memory_limiter, batch, resourcedetection] exporters: [datadog] traces: receivers: [otlp] - processors: [batch, resourcedetection, memory_limiter] + processors: [memory_limiter, batch, resourcedetection] exporters: [datadog/connector] traces/sampling: receivers: [datadog/connector] - processors: [batch, resourcedetection, memory_limiter] + processors: [memory_limiter, batch, resourcedetection] exporters: [datadog] logs: receivers: [otlp, filelog] - processors: [batch, resourcedetection, memory_limiter] + processors: [memory_limiter, batch, resourcedetection] exporters: [datadog] From 02604e6974bbf0806ee4e0afe11312ccdffe274f Mon Sep 17 00:00:00 2001 From: Pablo Baeyens Date: Thu, 23 May 2024 10:18:36 +0200 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Yang Song --- exporter/datadogexporter/examples/batch-memory.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporter/datadogexporter/examples/batch-memory.yaml b/exporter/datadogexporter/examples/batch-memory.yaml index 03244c9561d99..85e731095f91b 100644 --- a/exporter/datadogexporter/examples/batch-memory.yaml +++ b/exporter/datadogexporter/examples/batch-memory.yaml @@ -34,7 +34,7 @@ service: processors: [memory_limiter, batch] exporters: [datadog] metrics: - receivers: [otlp] + receivers: [otlp, datadog/connector] processors: [memory_limiter, batch] exporters: [datadog] logs: