diff --git a/examples/mysql/src/tracer.ts b/examples/mysql/src/tracer.ts index 2ded0e2567..c80675f6b4 100644 --- a/examples/mysql/src/tracer.ts +++ b/examples/mysql/src/tracer.ts @@ -20,14 +20,15 @@ const EXPORTER = process.env.EXPORTER || ''; export const setupTracing = (serviceName: string) => { //metrics: - const meterProvider = new MeterProvider() const metricExporter = new OTLPMetricExporter(); const metricReader = new PeriodicExportingMetricReader({ exporter: metricExporter, exportIntervalMillis: 100, exportTimeoutMillis: 100, }); - meterProvider.addMetricReader(metricReader); + const meterProvider = new MeterProvider({ + readers: [metricReader], + }); //traces: const tracerProvider = new NodeTracerProvider({ diff --git a/plugins/node/instrumentation-runtime-node/test/event_loop_delay.test.ts b/plugins/node/instrumentation-runtime-node/test/event_loop_delay.test.ts index 9571ff23c6..d77bfbdcfe 100644 --- a/plugins/node/instrumentation-runtime-node/test/event_loop_delay.test.ts +++ b/plugins/node/instrumentation-runtime-node/test/event_loop_delay.test.ts @@ -27,8 +27,9 @@ describe(`${ConventionalNamePrefix.NodeJs}.eventloop`, function () { beforeEach(() => { metricReader = new TestMetricReader(); - meterProvider = new MeterProvider(); - meterProvider.addMetricReader(metricReader); + meterProvider = new MeterProvider({ + readers: [metricReader], + }); }); for (const metricName in metricNames) { diff --git a/plugins/node/instrumentation-runtime-node/test/event_loop_time.test.ts b/plugins/node/instrumentation-runtime-node/test/event_loop_time.test.ts index ac9a672ab9..7ee96150f3 100644 --- a/plugins/node/instrumentation-runtime-node/test/event_loop_time.test.ts +++ b/plugins/node/instrumentation-runtime-node/test/event_loop_time.test.ts @@ -29,8 +29,9 @@ describe(`${ConventionalNamePrefix.NodeJs}.${ATTR_NODEJS_EVENT_LOOP_TIME}`, func beforeEach(() => { metricReader = new TestMetricReader(); - meterProvider = new MeterProvider(); - meterProvider.addMetricReader(metricReader); + meterProvider = new MeterProvider({ + readers: [metricReader], + }); }); it('should not export before being enabled', async function () { diff --git a/plugins/node/instrumentation-runtime-node/test/event_loop_utilization.test.ts b/plugins/node/instrumentation-runtime-node/test/event_loop_utilization.test.ts index e434557f20..3200dd0392 100644 --- a/plugins/node/instrumentation-runtime-node/test/event_loop_utilization.test.ts +++ b/plugins/node/instrumentation-runtime-node/test/event_loop_utilization.test.ts @@ -29,8 +29,9 @@ describe(`${ConventionalNamePrefix.NodeJs}.${ATTR_NODEJS_EVENT_LOOP_UTILIZATION} beforeEach(() => { metricReader = new TestMetricReader(); - meterProvider = new MeterProvider(); - meterProvider.addMetricReader(metricReader); + meterProvider = new MeterProvider({ + readers: [metricReader], + }); }); it('should not export before being enabled', async function () { diff --git a/plugins/node/instrumentation-runtime-node/test/heap_space_and_used.test.ts b/plugins/node/instrumentation-runtime-node/test/heap_space_and_used.test.ts index 177834332f..43aae14344 100644 --- a/plugins/node/instrumentation-runtime-node/test/heap_space_and_used.test.ts +++ b/plugins/node/instrumentation-runtime-node/test/heap_space_and_used.test.ts @@ -31,8 +31,9 @@ describe('nodejs.heap_space', function () { beforeEach(() => { metricReader = new TestMetricReader(); - meterProvider = new MeterProvider(); - meterProvider.addMetricReader(metricReader); + meterProvider = new MeterProvider({ + readers: [metricReader], + }); }); for (const metricName in metricNames) { diff --git a/plugins/node/instrumentation-runtime-node/test/instrumentation.test.ts b/plugins/node/instrumentation-runtime-node/test/instrumentation.test.ts index 34de947e15..f3ccf82a0e 100644 --- a/plugins/node/instrumentation-runtime-node/test/instrumentation.test.ts +++ b/plugins/node/instrumentation-runtime-node/test/instrumentation.test.ts @@ -27,8 +27,9 @@ describe('instrumentation', function () { beforeEach(() => { metricReader = new TestMetricReader(); - meterProvider = new MeterProvider(); - meterProvider.addMetricReader(metricReader); + meterProvider = new MeterProvider({ + readers: [metricReader], + }); }); it('should not export before being enabled', async function () { diff --git a/plugins/node/instrumentation-undici/test/metrics.test.ts b/plugins/node/instrumentation-undici/test/metrics.test.ts index a903698385..de7a9ad5c7 100644 --- a/plugins/node/instrumentation-undici/test/metrics.test.ts +++ b/plugins/node/instrumentation-undici/test/metrics.test.ts @@ -37,12 +37,13 @@ describe('UndiciInstrumentation metrics tests', function () { const hostname = 'localhost'; const mockServer = new MockServer(); const provider = new NodeTracerProvider(); - const meterProvider = new MeterProvider(); const metricsMemoryExporter = new InMemoryMetricExporter( AggregationTemporality.DELTA ); const metricReader = new MockMetricsReader(metricsMemoryExporter); - meterProvider.addMetricReader(metricReader); + const meterProvider = new MeterProvider({ + readers: [metricReader], + }); before(function (done) { // Do not test if the `fetch` global API is not available diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.force-flush.test.ts b/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.force-flush.test.ts index 75cc30949e..8b68e71fe2 100644 --- a/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.force-flush.test.ts +++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.force-flush.test.ts @@ -152,10 +152,11 @@ describe('force flush', () => { }); it('should force flush MeterProvider', async () => { - const provider = new MeterProvider(); - provider.addMetricReader( - new PeriodicExportingMetricReader({ exporter: metricMemoryExporter }) - ); + const provider = new MeterProvider({ + readers: [ + new PeriodicExportingMetricReader({ exporter: metricMemoryExporter }), + ], + }); let forceFlushed = false; const forceFlush = () => new Promise(resolve => { @@ -197,10 +198,11 @@ describe('force flush', () => { }); nodeTracerProvider.forceFlush = tracerForceFlush; - const meterProvider = new MeterProvider(); - meterProvider.addMetricReader( - new PeriodicExportingMetricReader({ exporter: metricMemoryExporter }) - ); + const meterProvider = new MeterProvider({ + readers: [ + new PeriodicExportingMetricReader({ exporter: metricMemoryExporter }), + ], + }); let meterForceFlushed = false; const meterForceFlush = () => new Promise(resolve => { diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4-v5-v6.metrics.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4-v5-v6.metrics.test.ts index 9bb49cb45b..47e925ac14 100644 --- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4-v5-v6.metrics.test.ts +++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4-v5-v6.metrics.test.ts @@ -28,7 +28,6 @@ import { ResourceMetrics, } from '@opentelemetry/sdk-metrics'; -const otelTestingMeterProvider = new MeterProvider(); const inMemoryMetricsExporter = new InMemoryMetricExporter( AggregationTemporality.CUMULATIVE ); @@ -37,6 +36,9 @@ const metricReader = new PeriodicExportingMetricReader({ exportIntervalMillis: 100, exportTimeoutMillis: 100, }); +const otelTestingMeterProvider = new MeterProvider({ + readers: [metricReader], +}); import { registerInstrumentationTesting } from '@opentelemetry/contrib-test-utils'; const instrumentation = registerInstrumentationTesting( @@ -85,7 +87,6 @@ describe('MongoDBInstrumentation-Metrics', () => { let collection: Collection; before(done => { - otelTestingMeterProvider.addMetricReader(metricReader); instrumentation?.setMeterProvider(otelTestingMeterProvider); shouldTest = true; diff --git a/plugins/node/opentelemetry-instrumentation-mysql/test/index.metrics.test.ts b/plugins/node/opentelemetry-instrumentation-mysql/test/index.metrics.test.ts index b6015d65a8..3661904b5b 100644 --- a/plugins/node/opentelemetry-instrumentation-mysql/test/index.metrics.test.ts +++ b/plugins/node/opentelemetry-instrumentation-mysql/test/index.metrics.test.ts @@ -67,7 +67,6 @@ describe('mysql@2.x-Metrics', () => { const shouldTest = testMysql || testMysqlLocally; // Skips these tests if false (default) function initMeterProvider() { - otelTestingMeterProvider = new MeterProvider(); inMemoryMetricsExporter = new InMemoryMetricExporter( AggregationTemporality.CUMULATIVE ); @@ -76,8 +75,10 @@ describe('mysql@2.x-Metrics', () => { exportIntervalMillis: 100, exportTimeoutMillis: 100, }); + otelTestingMeterProvider = new MeterProvider({ + readers: [metricReader], + }); - otelTestingMeterProvider.addMetricReader(metricReader); instrumentation.setMeterProvider(otelTestingMeterProvider); }