diff --git a/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultMetricExporter.m b/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultMetricExporter.m index 6516c43..55029a6 100644 --- a/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultMetricExporter.m +++ b/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultMetricExporter.m @@ -1,4 +1,4 @@ -function dexp = defaultMetricExporter +function dexp = defaultMetricExporter(varargin) % Get the default Metric exporter depending on installation % EXP = OPENTELEMETRY.EXPORTERS.OTLP.DEFAULTMETRICEXPORTER returns the % default Metric exporter. OtlpHttpMetricExporter is the default if it is @@ -10,7 +10,7 @@ % Copyright 2023 The MathWorks, Inc. if exist("opentelemetry.exporters.otlp.OtlpHttpMetricExporter", "class") - dexp = opentelemetry.exporters.otlp.OtlpHttpMetricExporter; + dexp = opentelemetry.exporters.otlp.OtlpHttpMetricExporter(varargin{:}); else - dexp = opentelemetry.exporters.otlp.OtlpGrpcMetricExporter; + dexp = opentelemetry.exporters.otlp.OtlpGrpcMetricExporter(varargin{:}); end diff --git a/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultSpanExporter.m b/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultSpanExporter.m index 90009eb..85c2076 100644 --- a/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultSpanExporter.m +++ b/exporters/otlp/+opentelemetry/+exporters/+otlp/defaultSpanExporter.m @@ -1,4 +1,4 @@ -function dexp = defaultSpanExporter +function dexp = defaultSpanExporter(varargin) % Get the default span exporter depending on installation % EXP = OPENTELEMETRY.EXPORTERS.OTLP.DEFAULTSPANEXPORTER returns the % default span exporter. OtlpHttpSpanExporter is the default if it is @@ -10,7 +10,7 @@ % Copyright 2023 The MathWorks, Inc. if exist("opentelemetry.exporters.otlp.OtlpHttpSpanExporter", "class") - dexp = opentelemetry.exporters.otlp.OtlpHttpSpanExporter; + dexp = opentelemetry.exporters.otlp.OtlpHttpSpanExporter(varargin{:}); else - dexp = opentelemetry.exporters.otlp.OtlpGrpcSpanExporter; + dexp = opentelemetry.exporters.otlp.OtlpGrpcSpanExporter(varargin{:}); end diff --git a/test/tmetrics.m b/test/tmetrics.m index 96adc99..5f34462 100644 --- a/test/tmetrics.m +++ b/test/tmetrics.m @@ -25,10 +25,10 @@ function setupOnce(testCase) interval = seconds(2); timeout = seconds(1); testCase.ShortIntervalReader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(... - opentelemetry.exporters.otlp.OtlpHttpMetricExporter(), ... + opentelemetry.exporters.otlp.defaultMetricExporter(), ... "Interval", interval, "Timeout", timeout); testCase.DeltaAggregationReader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(... - opentelemetry.exporters.otlp.OtlpHttpMetricExporter(... + opentelemetry.exporters.otlp.defaultMetricExporter(... "PreferredAggregationTemporality", "Delta"), ... "Interval", interval, "Timeout", timeout); end diff --git a/test/tmetrics_sdk.m b/test/tmetrics_sdk.m index 9fc82ba..8c9a181 100644 --- a/test/tmetrics_sdk.m +++ b/test/tmetrics_sdk.m @@ -21,7 +21,7 @@ function setupOnce(testCase) commonSetupOnce(testCase); testCase.ShortIntervalReader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(... - opentelemetry.exporters.otlp.OtlpHttpMetricExporter(), ... + opentelemetry.exporters.otlp.defaultMetricExporter(), ... "Interval", seconds(2), "Timeout", seconds(1)); end end @@ -41,8 +41,8 @@ function teardown(testCase) methods (Test) function testDefaultExporter(testCase) exporter = opentelemetry.exporters.otlp.defaultMetricExporter; - verifyEqual(testCase, string(class(exporter)), "opentelemetry.exporters.otlp.OtlpHttpMetricExporter"); - verifyEqual(testCase, string(exporter.Endpoint), "http://localhost:4318/v1/metrics"); + % do not test the exporter class or the endpoint, as they + % depend on which exporters are installed verifyEqual(testCase, exporter.Timeout, seconds(10)); verifyEqual(testCase, string(exporter.PreferredAggregationTemporality), "cumulative"); end @@ -51,7 +51,7 @@ function testDefaultExporter(testCase) function testExporterBasic(testCase) timeout = seconds(5); temporality = "delta"; - exporter = opentelemetry.exporters.otlp.OtlpHttpMetricExporter("Timeout", timeout, ... + exporter = opentelemetry.exporters.otlp.defaultMetricExporter("Timeout", timeout, ... "PreferredAggregationTemporality", temporality); verifyEqual(testCase, exporter.Timeout, timeout); verifyEqual(testCase, string(exporter.PreferredAggregationTemporality), temporality); @@ -60,8 +60,8 @@ function testExporterBasic(testCase) function testDefaultReader(testCase) reader = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(); - verifyEqual(testCase, string(class(reader.MetricExporter)), ... - "opentelemetry.exporters.otlp.OtlpHttpMetricExporter"); + verifyEqual(testCase, class(reader.MetricExporter), ... + class(opentelemetry.exporters.otlp.defaultMetricExporter)); verifyEqual(testCase, reader.Interval, minutes(1)); verifyEqual(testCase, reader.Interval.Format, 'm'); verifyEqual(testCase, reader.Timeout, seconds(30)); @@ -86,9 +86,9 @@ function testReaderBasic(testCase) function testAddMetricReader(testCase) metername = "foo"; countername = "bar"; - exporter1 = opentelemetry.exporters.otlp.OtlpHttpMetricExporter(... + exporter1 = opentelemetry.exporters.otlp.defaultMetricExporter(... "PreferredAggregationTemporality", "delta"); - exporter2 = opentelemetry.exporters.otlp.OtlpHttpMetricExporter(... + exporter2 = opentelemetry.exporters.otlp.defaultMetricExporter(... "PreferredAggregationTemporality", "delta"); reader1 = opentelemetry.sdk.metrics.PeriodicExportingMetricReader(exporter1, ..., "Interval", seconds(2), "Timeout", seconds(1));