Skip to content

Commit 7379593

Browse files
committed
carrots
1 parent 1123aa2 commit 7379593

7 files changed

Lines changed: 56 additions & 29 deletions

File tree

exporters/otlp/all/src/main/java/io/opentelemetry/exporter/otlp/internal/InternalTelemetryConfiguration.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
1010
import io.opentelemetry.sdk.common.InternalTelemetryVersion;
1111
import java.util.Locale;
12-
import javax.annotation.Nullable;
1312

1413
/**
1514
* Reads the desired SDK internal telemetry version from {@link ConfigProperties}.
@@ -19,12 +18,12 @@
1918
*/
2019
final class InternalTelemetryConfiguration {
2120

22-
@Nullable
2321
static InternalTelemetryVersion getVersion(ConfigProperties config) {
2422
String version = config.getString("otel.experimental.sdk.telemetry.version");
2523
if (version == null) {
26-
return null;
24+
return InternalTelemetryVersion.LEGACY;
2725
}
26+
2827
switch (version.toLowerCase(Locale.ROOT)) {
2928
case "legacy":
3029
return InternalTelemetryVersion.LEGACY;

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/InternalTelemetryConfiguration.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
1010
import io.opentelemetry.sdk.common.InternalTelemetryVersion;
1111
import java.util.Locale;
12-
import javax.annotation.Nullable;
1312

1413
/**
1514
* Reads the desired SDK internal telemetry version from {@link ConfigProperties}.
@@ -20,12 +19,12 @@
2019
*/
2120
final class InternalTelemetryConfiguration {
2221

23-
@Nullable
2422
static InternalTelemetryVersion getVersion(ConfigProperties config) {
2523
String version = config.getString("otel.experimental.sdk.telemetry.version");
2624
if (version == null) {
27-
return null;
25+
return InternalTelemetryVersion.LEGACY;
2826
}
27+
2928
switch (version.toLowerCase(Locale.ROOT)) {
3029
case "legacy":
3130
return InternalTelemetryVersion.LEGACY;

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfiguration.java

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.opentelemetry.sdk.logs.export.BatchLogRecordProcessorBuilder;
2020
import io.opentelemetry.sdk.logs.export.LogRecordExporter;
2121
import io.opentelemetry.sdk.logs.export.SimpleLogRecordProcessor;
22+
import io.opentelemetry.sdk.logs.export.SimpleLogRecordProcessorBuilder;
2223
import java.io.Closeable;
2324
import java.time.Duration;
2425
import java.util.ArrayList;
@@ -45,13 +46,17 @@ static void configureLoggerProvider(
4546
List<Closeable> closeables) {
4647

4748
loggerProviderBuilder.setLogLimits(() -> configureLogLimits(config));
48-
loggerProviderBuilder.setMeterProvider(() -> meterProvider);
49+
InternalTelemetryVersion telemetryVersion = InternalTelemetryConfiguration.getVersion(config);
50+
if (telemetryVersion != InternalTelemetryVersion.LEGACY) {
51+
loggerProviderBuilder.setMeterProvider(() -> meterProvider);
52+
}
4953

5054
Map<String, LogRecordExporter> exportersByName =
5155
configureLogRecordExporters(config, spiHelper, logRecordExporterCustomizer, closeables);
5256

5357
List<LogRecordProcessor> processors =
54-
configureLogRecordProcessors(config, exportersByName, meterProvider, closeables);
58+
configureLogRecordProcessors(
59+
config, exportersByName, telemetryVersion, meterProvider, closeables);
5560
for (LogRecordProcessor processor : processors) {
5661
LogRecordProcessor wrapped = logRecordProcessorCustomizer.apply(processor, config);
5762
if (wrapped != processor) {
@@ -65,6 +70,7 @@ static void configureLoggerProvider(
6570
static List<LogRecordProcessor> configureLogRecordProcessors(
6671
ConfigProperties config,
6772
Map<String, LogRecordExporter> exportersByName,
73+
InternalTelemetryVersion telemetryVersion,
6874
MeterProvider meterProvider,
6975
List<Closeable> closeables) {
7076
Map<String, LogRecordExporter> exportersByNameCopy = new HashMap<>(exportersByName);
@@ -73,10 +79,12 @@ static List<LogRecordProcessor> configureLogRecordProcessors(
7379
for (String simpleProcessorExporterName : simpleProcessorExporterNames) {
7480
LogRecordExporter exporter = exportersByNameCopy.remove(simpleProcessorExporterName);
7581
if (exporter != null) {
76-
LogRecordProcessor logRecordProcessor =
77-
SimpleLogRecordProcessor.builder(exporter)
78-
.setMeterProvider(() -> meterProvider)
79-
.build();
82+
SimpleLogRecordProcessorBuilder logRecordProcessorBuilder =
83+
SimpleLogRecordProcessor.builder(exporter);
84+
if (telemetryVersion != InternalTelemetryVersion.LEGACY) {
85+
logRecordProcessorBuilder.setMeterProvider(() -> meterProvider);
86+
}
87+
LogRecordProcessor logRecordProcessor = logRecordProcessorBuilder.build();
8088
closeables.add(logRecordProcessor);
8189
logRecordProcessors.add(logRecordProcessor);
8290
}
@@ -86,7 +94,8 @@ static List<LogRecordProcessor> configureLogRecordProcessors(
8694
LogRecordExporter compositeLogRecordExporter =
8795
LogRecordExporter.composite(exportersByNameCopy.values());
8896
LogRecordProcessor logRecordProcessor =
89-
configureBatchLogRecordProcessor(config, compositeLogRecordExporter, meterProvider);
97+
configureBatchLogRecordProcessor(
98+
config, compositeLogRecordExporter, telemetryVersion, meterProvider);
9099
closeables.add(logRecordProcessor);
91100
logRecordProcessors.add(logRecordProcessor);
92101
}
@@ -96,7 +105,10 @@ static List<LogRecordProcessor> configureLogRecordProcessors(
96105

97106
// VisibleForTesting
98107
static BatchLogRecordProcessor configureBatchLogRecordProcessor(
99-
ConfigProperties config, LogRecordExporter exporter, MeterProvider meterProvider) {
108+
ConfigProperties config,
109+
LogRecordExporter exporter,
110+
InternalTelemetryVersion telemetryVersion,
111+
MeterProvider meterProvider) {
100112
BatchLogRecordProcessorBuilder builder =
101113
BatchLogRecordProcessor.builder(exporter).setMeterProvider(meterProvider);
102114

@@ -120,10 +132,7 @@ static BatchLogRecordProcessor configureBatchLogRecordProcessor(
120132
builder.setExporterTimeout(timeout);
121133
}
122134

123-
InternalTelemetryVersion telemetryVersion = InternalTelemetryConfiguration.getVersion(config);
124-
if (telemetryVersion != null) {
125-
builder.setInternalTelemetryVersion(telemetryVersion);
126-
}
135+
builder.setInternalTelemetryVersion(telemetryVersion);
127136

128137
return builder.build();
129138
}

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/TracerProviderConfiguration.java

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
2020
import io.opentelemetry.sdk.trace.export.BatchSpanProcessorBuilder;
2121
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
22+
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessorBuilder;
2223
import io.opentelemetry.sdk.trace.export.SpanExporter;
2324
import io.opentelemetry.sdk.trace.samplers.Sampler;
2425
import java.io.Closeable;
@@ -50,7 +51,10 @@ static void configureTracerProvider(
5051
List<Closeable> closeables) {
5152

5253
tracerProviderBuilder.setSpanLimits(configureSpanLimits(config));
53-
tracerProviderBuilder.setMeterProvider(() -> meterProvider);
54+
InternalTelemetryVersion telemetryVersion = InternalTelemetryConfiguration.getVersion(config);
55+
if (telemetryVersion != InternalTelemetryVersion.LEGACY) {
56+
tracerProviderBuilder.setMeterProvider(() -> meterProvider);
57+
}
5458

5559
String sampler = config.getString("otel.traces.sampler", PARENTBASED_ALWAYS_ON);
5660
tracerProviderBuilder.setSampler(
@@ -61,7 +65,8 @@ static void configureTracerProvider(
6165
config, spiHelper, spanExporterCustomizer, closeables);
6266

6367
List<SpanProcessor> processors =
64-
configureSpanProcessors(config, exportersByName, meterProvider, closeables);
68+
configureSpanProcessors(
69+
config, exportersByName, telemetryVersion, meterProvider, closeables);
6570
for (SpanProcessor processor : processors) {
6671
SpanProcessor wrapped = spanProcessorCustomizer.apply(processor, config);
6772
if (wrapped != processor) {
@@ -74,6 +79,7 @@ static void configureTracerProvider(
7479
static List<SpanProcessor> configureSpanProcessors(
7580
ConfigProperties config,
7681
Map<String, SpanExporter> exportersByName,
82+
InternalTelemetryVersion telemetryVersion,
7783
MeterProvider meterProvider,
7884
List<Closeable> closeables) {
7985
Map<String, SpanExporter> exportersByNameCopy = new HashMap<>(exportersByName);
@@ -82,8 +88,11 @@ static List<SpanProcessor> configureSpanProcessors(
8288
for (String simpleProcessorExporterNames : simpleProcessorExporterNames) {
8389
SpanExporter exporter = exportersByNameCopy.remove(simpleProcessorExporterNames);
8490
if (exporter != null) {
85-
SpanProcessor spanProcessor =
86-
SimpleSpanProcessor.builder(exporter).setMeterProvider(() -> meterProvider).build();
91+
SimpleSpanProcessorBuilder spanProcessorBuilder = SimpleSpanProcessor.builder(exporter);
92+
if (telemetryVersion != InternalTelemetryVersion.LEGACY) {
93+
spanProcessorBuilder.setMeterProvider(() -> meterProvider);
94+
}
95+
SpanProcessor spanProcessor = spanProcessorBuilder.build();
8796
closeables.add(spanProcessor);
8897
spanProcessors.add(spanProcessor);
8998
}
@@ -92,7 +101,8 @@ static List<SpanProcessor> configureSpanProcessors(
92101
if (!exportersByNameCopy.isEmpty()) {
93102
SpanExporter compositeSpanExporter = SpanExporter.composite(exportersByNameCopy.values());
94103
SpanProcessor spanProcessor =
95-
configureBatchSpanProcessor(config, compositeSpanExporter, meterProvider);
104+
configureBatchSpanProcessor(
105+
config, compositeSpanExporter, telemetryVersion, meterProvider);
96106
closeables.add(spanProcessor);
97107
spanProcessors.add(spanProcessor);
98108
}
@@ -102,7 +112,10 @@ static List<SpanProcessor> configureSpanProcessors(
102112

103113
// VisibleForTesting
104114
static BatchSpanProcessor configureBatchSpanProcessor(
105-
ConfigProperties config, SpanExporter exporter, MeterProvider meterProvider) {
115+
ConfigProperties config,
116+
SpanExporter exporter,
117+
InternalTelemetryVersion telemetryVersion,
118+
MeterProvider meterProvider) {
106119
BatchSpanProcessorBuilder builder =
107120
BatchSpanProcessor.builder(exporter).setMeterProvider(() -> meterProvider);
108121

@@ -126,10 +139,7 @@ static BatchSpanProcessor configureBatchSpanProcessor(
126139
builder.setExporterTimeout(timeout);
127140
}
128141

129-
InternalTelemetryVersion telemetryVersion = InternalTelemetryConfiguration.getVersion(config);
130-
if (telemetryVersion != null) {
131-
builder.setInternalTelemetryVersion(telemetryVersion);
132-
}
142+
builder.setInternalTelemetryVersion(telemetryVersion);
133143

134144
return builder.build();
135145
}

sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/TracerProviderConfigurationTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
1818
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
1919
import io.opentelemetry.sdk.common.CompletableResultCode;
20+
import io.opentelemetry.sdk.common.InternalTelemetryVersion;
2021
import io.opentelemetry.sdk.trace.SdkTracerProvider;
2122
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
2223
import io.opentelemetry.sdk.trace.SpanLimits;
@@ -100,7 +101,7 @@ void configureTracerProvider() {
100101
void configureBatchSpanProcessor_empty() {
101102
try (BatchSpanProcessor processor =
102103
TracerProviderConfiguration.configureBatchSpanProcessor(
103-
EMPTY, mockSpanExporter, MeterProvider.noop())) {
104+
EMPTY, mockSpanExporter, InternalTelemetryVersion.LEGACY, MeterProvider.noop())) {
104105
assertThat(processor)
105106
.extracting("worker")
106107
.satisfies(
@@ -133,6 +134,7 @@ void configureBatchSpanProcessor_configured() {
133134
TracerProviderConfiguration.configureBatchSpanProcessor(
134135
DefaultConfigProperties.createFromMap(properties),
135136
mockSpanExporter,
137+
InternalTelemetryVersion.LEGACY,
136138
MeterProvider.noop())) {
137139
assertThat(processor)
138140
.extracting("worker")

sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/ConfigurableSpanExporterTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
2121
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
2222
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
23+
import io.opentelemetry.sdk.common.InternalTelemetryVersion;
2324
import io.opentelemetry.sdk.trace.SpanProcessor;
2425
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
2526
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
@@ -149,6 +150,7 @@ void configureSpanProcessors_simpleSpanProcessor() {
149150
DefaultConfigProperties.createFromMap(
150151
Collections.singletonMap("otel.traces.exporter", "console,logging")),
151152
exportersByName,
153+
InternalTelemetryVersion.LEGACY,
152154
MeterProvider.noop(),
153155
closeables);
154156
cleanup.addCloseables(closeables);
@@ -171,6 +173,7 @@ void configureSpanProcessors_batchSpanProcessor() {
171173
ImmutableMap.of(
172174
exporterName,
173175
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.builder().build()),
176+
InternalTelemetryVersion.LEGACY,
174177
MeterProvider.noop(),
175178
closeables);
176179
cleanup.addCloseables(closeables);
@@ -192,6 +195,7 @@ void configureSpanProcessors_multipleExporters() {
192195
OtlpGrpcSpanExporter.builder().build(),
193196
"zipkin",
194197
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.builder().build()),
198+
InternalTelemetryVersion.LEGACY,
195199
MeterProvider.noop(),
196200
closeables);
197201
cleanup.addCloseables(closeables);
@@ -235,6 +239,7 @@ void configureSpanProcessors_multipleExportersWithLogging() {
235239
LoggingSpanExporter.create(),
236240
"zipkin",
237241
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.builder().build()),
242+
InternalTelemetryVersion.LEGACY,
238243
MeterProvider.noop(),
239244
closeables);
240245
cleanup.addCloseables(closeables);

sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/LoggerProviderConfigurationTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.opentelemetry.internal.testing.CleanupExtension;
1414
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
1515
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
16+
import io.opentelemetry.sdk.common.InternalTelemetryVersion;
1617
import io.opentelemetry.sdk.logs.LogRecordProcessor;
1718
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
1819
import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder;
@@ -93,6 +94,7 @@ void configureLogRecordProcessors_multipleExportersWithLogging() {
9394
LoggerProviderConfiguration.configureLogRecordProcessors(
9495
DefaultConfigProperties.createFromMap(Collections.emptyMap()),
9596
exportersByName,
97+
InternalTelemetryVersion.LEGACY,
9698
MeterProvider.noop(),
9799
closeables);
98100
cleanup.addCloseables(closeables);
@@ -123,6 +125,7 @@ void configureBatchLogRecordProcessor() {
123125
LoggerProviderConfiguration.configureBatchLogRecordProcessor(
124126
DefaultConfigProperties.createFromMap(properties),
125127
SystemOutLogRecordExporter.create(),
128+
InternalTelemetryVersion.LEGACY,
126129
MeterProvider.noop())) {
127130
assertThat(processor)
128131
.extracting("worker")

0 commit comments

Comments
 (0)