Skip to content

Commit f625887

Browse files
authored
fix(otel): support setting DD_METRICS_OTEL_ENABLED to False (#7028)
1 parent 490a6ff commit f625887

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

packages/dd-trace/src/config.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -627,8 +627,12 @@ class Config {
627627
target.otelMaxExportBatchSize = nonNegInt(OTEL_BSP_MAX_EXPORT_BATCH_SIZE, 'OTEL_BSP_MAX_EXPORT_BATCH_SIZE', false)
628628
target.otelMaxQueueSize = nonNegInt(OTEL_BSP_MAX_QUEUE_SIZE, 'OTEL_BSP_MAX_QUEUE_SIZE', false)
629629

630-
const otelMetricsExporter = !OTEL_METRICS_EXPORTER || OTEL_METRICS_EXPORTER.toLowerCase() !== 'none'
631-
this.#setBoolean(target, 'otelMetricsEnabled', DD_METRICS_OTEL_ENABLED && otelMetricsExporter)
630+
const otelMetricsExporterEnabled = OTEL_METRICS_EXPORTER?.toLowerCase() !== 'none'
631+
this.#setBoolean(
632+
target,
633+
'otelMetricsEnabled',
634+
DD_METRICS_OTEL_ENABLED && isTrue(DD_METRICS_OTEL_ENABLED) && otelMetricsExporterEnabled
635+
)
632636
// Set OpenTelemetry metrics configuration with specific _METRICS_ vars
633637
// taking precedence over generic _EXPORTERS_ vars
634638
if (OTEL_EXPORTER_OTLP_ENDPOINT || OTEL_EXPORTER_OTLP_METRICS_ENDPOINT) {

packages/dd-trace/test/opentelemetry/metrics.spec.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -834,11 +834,17 @@ describe('OpenTelemetry Meter Provider', () => {
834834
})
835835

836836
describe('Initialization', () => {
837-
it('does not initialize when OTEL metrics are disabled', () => {
837+
it('does not initialize when OTEL metrics configuration is unset', () => {
838838
const { meterProvider } = setupTracer({ DD_METRICS_OTEL_ENABLED: undefined })
839839
const { MeterProvider } = require('../../src/opentelemetry/metrics')
840840

841-
// Should return no-op provider when disabled, not our custom MeterProvider
841+
assert.strictEqual(meterProvider instanceof MeterProvider, false)
842+
})
843+
844+
it('does not initialize when OTEL metrics are explicitly disabled', () => {
845+
const { meterProvider } = setupTracer({ DD_METRICS_OTEL_ENABLED: 'false' })
846+
const { MeterProvider } = require('../../src/opentelemetry/metrics')
847+
842848
assert.strictEqual(meterProvider instanceof MeterProvider, false)
843849
})
844850

0 commit comments

Comments
 (0)