Skip to content

Commit 357da77

Browse files
committed
add test bridge for exporters
1 parent ce4fdfb commit 357da77

File tree

3 files changed

+129
-0
lines changed

3 files changed

+129
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.instrumentation.testing.provider;
7+
8+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
9+
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
10+
import io.opentelemetry.sdk.logs.export.LogRecordExporter;
11+
import org.slf4j.Logger;
12+
import org.slf4j.LoggerFactory;
13+
14+
public class TestBridgeLogRecordExporterComponentProvider
15+
implements ComponentProvider<LogRecordExporter> {
16+
17+
private static final Logger logger =
18+
LoggerFactory.getLogger(TestBridgeLogRecordExporterComponentProvider.class);
19+
20+
private static LogRecordExporter logRecordExporter;
21+
22+
@Override
23+
public Class<LogRecordExporter> getType() {
24+
return LogRecordExporter.class;
25+
}
26+
27+
@Override
28+
public String getName() {
29+
return "test_bridge";
30+
}
31+
32+
@Override
33+
public LogRecordExporter create(DeclarativeConfigProperties config) {
34+
return logRecordExporter;
35+
}
36+
37+
public static void setLogRecordExporter(LogRecordExporter logRecordExporter) {
38+
logger.info(
39+
"Setting TestLogRecordExporterComponentProvider logRecord exporter to {}",
40+
logRecordExporter.getClass().getName());
41+
TestBridgeLogRecordExporterComponentProvider.logRecordExporter = logRecordExporter;
42+
}
43+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.instrumentation.testing.provider;
7+
8+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
9+
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
10+
import io.opentelemetry.sdk.metrics.export.MetricExporter;
11+
import org.slf4j.Logger;
12+
import org.slf4j.LoggerFactory;
13+
14+
public class TestBridgeMetricExporterComponentProvider
15+
implements ComponentProvider<MetricExporter> {
16+
17+
private static final Logger logger =
18+
LoggerFactory.getLogger(TestBridgeMetricExporterComponentProvider.class);
19+
20+
private static MetricExporter metricExporter;
21+
22+
@Override
23+
public Class<MetricExporter> getType() {
24+
return MetricExporter.class;
25+
}
26+
27+
@Override
28+
public String getName() {
29+
return "test_bridge";
30+
}
31+
32+
@Override
33+
public MetricExporter create(DeclarativeConfigProperties config) {
34+
return metricExporter;
35+
}
36+
37+
public static void setMetricExporter(MetricExporter metricExporter) {
38+
logger.info(
39+
"Setting TestMetricExporterComponentProvider metric exporter to {}",
40+
metricExporter.getClass().getName());
41+
TestBridgeMetricExporterComponentProvider.metricExporter = metricExporter;
42+
}
43+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.instrumentation.testing.provider;
7+
8+
import io.opentelemetry.api.incubator.config.DeclarativeConfigProperties;
9+
import io.opentelemetry.sdk.autoconfigure.spi.internal.ComponentProvider;
10+
import io.opentelemetry.sdk.trace.export.SpanExporter;
11+
import org.slf4j.Logger;
12+
import org.slf4j.LoggerFactory;
13+
14+
// todo should be inherited from testing-common - not sure why it is not
15+
public class TestBridgeSpanExporterComponentProvider implements ComponentProvider<SpanExporter> {
16+
17+
private static final Logger logger =
18+
LoggerFactory.getLogger(TestBridgeSpanExporterComponentProvider.class);
19+
20+
private static SpanExporter spanExporter;
21+
22+
@Override
23+
public Class<SpanExporter> getType() {
24+
return SpanExporter.class;
25+
}
26+
27+
@Override
28+
public String getName() {
29+
return "test_bridge";
30+
}
31+
32+
@Override
33+
public SpanExporter create(DeclarativeConfigProperties config) {
34+
return spanExporter;
35+
}
36+
37+
public static void setSpanExporter(SpanExporter spanExporter) {
38+
logger.info(
39+
"Setting TestSpanExporterComponentProvider span exporter to {}",
40+
spanExporter.getClass().getName());
41+
TestBridgeSpanExporterComponentProvider.spanExporter = spanExporter;
42+
}
43+
}

0 commit comments

Comments
 (0)