Skip to content

Commit

Permalink
[mq] working branch - merge 2078129 on top of main at 8d33ad4
Browse files Browse the repository at this point in the history
{"baseBranch":"main","baseCommit":"8d33ad41afaa02fbf1b4a4a994273937e287d447","createdAt":"2025-02-07T02:22:59.463758Z","headSha":"207812903cdf37121f06881235ece1a6e7776eae","id":"6dabe4ea-2f78-4965-a97c-43fad306df5b","priority":"200","pullRequestNumber":"33560","queuedAt":"2025-02-07T02:22:59.462931Z","status":"STATUS_QUEUED"}
  • Loading branch information
dd-mergequeue[bot] authored Feb 7, 2025
2 parents 025f4f3 + 2078129 commit e29d188
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
"github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes"
"github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes/source"
"github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics"
pkgdatadog "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog"
datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/exporter/exporterhelper"
Expand Down Expand Up @@ -87,7 +88,10 @@ func translatorFromConfig(
metrics.WithFallbackSourceProvider(hostGetter),
metrics.WithHistogramMode(histogramMode),
metrics.WithDeltaTTL(cfg.DeltaTTL),
metrics.WithOTelPrefix(),
}

if !pkgdatadog.MetricRemappingDisabledFeatureGate.IsEnabled() {
options = append(options, metrics.WithOTelPrefix())
}

if statsIn != nil {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ import (
"strings"
"testing"

pkgdatadog "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/exporter/exportertest"
"go.opentelemetry.io/collector/featuregate"
"go.opentelemetry.io/collector/pdata/pmetric"

"github.com/DataDog/datadog-agent/pkg/metrics"
Expand Down Expand Up @@ -323,6 +325,63 @@ func Test_ConsumeMetrics_MetricOrigins(t *testing.T) {
}
}

func TestMetricPrefix(t *testing.T) {
testMetricPrefixWithFeatureGates(t, false, "datadog_trace_agent_retries", "otelcol_datadog_trace_agent_retries")
testMetricPrefixWithFeatureGates(t, false, "system.memory.usage", "otel.system.memory.usage")
testMetricPrefixWithFeatureGates(t, false, "process.cpu.utilization", "otel.process.cpu.utilization")
testMetricPrefixWithFeatureGates(t, false, "kafka.producer.request-rate", "otel.kafka.producer.request-rate")

testMetricPrefixWithFeatureGates(t, true, "datadog_trace_agent_retries", "datadog_trace_agent_retries")
testMetricPrefixWithFeatureGates(t, true, "system.memory.usage", "system.memory.usage")
testMetricPrefixWithFeatureGates(t, true, "process.cpu.utilization", "process.cpu.utilization")
testMetricPrefixWithFeatureGates(t, true, "kafka.producer.request-rate", "kafka.producer.request-rate")
}

func testMetricPrefixWithFeatureGates(t *testing.T, disablePrefix bool, inName string, outName string) {
prevVal := pkgdatadog.MetricRemappingDisabledFeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(pkgdatadog.MetricRemappingDisabledFeatureGate.ID(), disablePrefix))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(pkgdatadog.MetricRemappingDisabledFeatureGate.ID(), prevVal))
}()

rec := &metricRecorder{}
ctx := context.Background()
f := NewFactory(rec, &MockTagEnricher{}, func(context.Context) (string, error) {
return "", nil
}, nil, nil)
cfg := f.CreateDefaultConfig().(*ExporterConfig)
exp, err := f.CreateMetrics(
ctx,
exportertest.NewNopSettings(),
cfg,
)
require.NoError(t, err)
require.NoError(t, exp.Start(ctx, componenttest.NewNopHost()))

md := pmetric.NewMetrics()
rms := md.ResourceMetrics()
rm := rms.AppendEmpty()
ilms := rm.ScopeMetrics()
ilm := ilms.AppendEmpty()
metricsArray := ilm.Metrics()
met := metricsArray.AppendEmpty()
met.SetName(inName)
met.SetEmptySum()
met.Sum().SetAggregationTemporality(pmetric.AggregationTemporalityDelta)
dp := met.Sum().DataPoints().AppendEmpty()
dp.SetIntValue(100)

require.NoError(t, exp.ConsumeMetrics(ctx, md))
require.NoError(t, exp.Shutdown(ctx))

for _, serie := range rec.series {
if serie.Name == outName {
return
}
}
t.Errorf("%s not found in metrics", outName)
}

func newMetrics(
histogramMetricName string,
histogramDataPoint pmetric.HistogramDataPoint,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ require (

require (
github.com/hashicorp/go-version v1.7.0 // indirect
go.opentelemetry.io/collector/featuregate v1.25.0 // indirect
go.opentelemetry.io/collector/featuregate v1.25.0
)

require (
Expand Down

0 comments on commit e29d188

Please sign in to comment.