Skip to content

Commit

Permalink
Set declarative config default OTLP protocol to http/protobuf (#6800)
Browse files Browse the repository at this point in the history
  • Loading branch information
jack-berg authored Oct 17, 2024
1 parent 1ac476b commit 62df132
Show file tree
Hide file tree
Showing 12 changed files with 35 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,14 @@ public static String getOtlpProtocol(String dataType, ConfigProperties config) {

/** Determine the configured OTLP protocol for the {@code dataType}. */
public static String getStructuredConfigOtlpProtocol(StructuredConfigProperties config) {
return config.getString("protocol", PROTOCOL_GRPC);
// NOTE: The default OTLP protocol is different for declarative config than for env var / system
// property based config. This is intentional. OpenTelemetry changed the default protocol
// recommendation from grpc to http/protobuf, but the autoconfigure's env var / system property
// based config did not update to reflect this before stabilizing, and changing is a breaking
// change requiring a major version bump. Declarative config is not yet stable and therefore can
// switch to the current default recommendation, which aligns also aligns with the behavior of
// the OpenTelemetry Java Agent 2.x+.
return config.getString("protocol", PROTOCOL_HTTP_PROTOBUF);
}

/** Invoke the setters with the OTLP configuration for the {@code dataType}. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ void parseAndCreate_Exception_CleansUpPartials() {
logCapturer.assertContains(
"Error encountered interpreting model. Closing partially configured components.");
logCapturer.assertContains(
"Closing io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporter");
"Closing io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter");
logCapturer.assertContains("Closing io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import com.google.common.collect.ImmutableMap;
import com.linecorp.armeria.testing.junit5.server.SelfSignedCertificateExtension;
import io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter;
import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
Expand Down Expand Up @@ -61,7 +60,7 @@ class LogRecordExporterFactoryTest {
void create_OtlpDefaults() {
spiHelper = spy(spiHelper);
List<Closeable> closeables = new ArrayList<>();
OtlpGrpcLogRecordExporter expectedExporter = OtlpGrpcLogRecordExporter.getDefault();
OtlpHttpLogRecordExporter expectedExporter = OtlpHttpLogRecordExporter.getDefault();
cleanup.addCloseable(expectedExporter);

LogRecordExporter exporter =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import static org.assertj.core.api.Assertions.assertThatThrownBy;

import com.google.common.collect.ImmutableMap;
import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporter;
import io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
Expand Down Expand Up @@ -53,7 +53,7 @@ void create_BatchDefaults() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor expectedProcessor =
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor.builder(
OtlpGrpcLogRecordExporter.getDefault())
OtlpHttpLogRecordExporter.getDefault())
.build();
cleanup.addCloseable(expectedProcessor);

Expand All @@ -77,7 +77,7 @@ void create_BatchConfigured() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor expectedProcessor =
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor.builder(
OtlpGrpcLogRecordExporter.getDefault())
OtlpHttpLogRecordExporter.getDefault())
.setScheduleDelay(Duration.ofMillis(1))
.setMaxExportBatchSize(2)
.setExporterTimeout(Duration.ofMillis(3))
Expand Down Expand Up @@ -121,7 +121,7 @@ void create_SimpleConfigured() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.logs.LogRecordProcessor expectedProcessor =
io.opentelemetry.sdk.logs.export.SimpleLogRecordProcessor.create(
OtlpGrpcLogRecordExporter.getDefault());
OtlpHttpLogRecordExporter.getDefault());
cleanup.addCloseable(expectedProcessor);

io.opentelemetry.sdk.logs.LogRecordProcessor processor =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;

import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporter;
import io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.AttributeLimitsModel;
Expand Down Expand Up @@ -84,7 +84,7 @@ private static Stream<Arguments> createArguments() {
.build())
.addLogRecordProcessor(
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor.builder(
OtlpGrpcLogRecordExporter.getDefault())
OtlpHttpLogRecordExporter.getDefault())
.build())
.build()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;

import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.MeterProviderModel;
Expand Down Expand Up @@ -57,7 +57,7 @@ void create_Configured() {
SdkMeterProvider.builder()
.registerMetricReader(
io.opentelemetry.sdk.metrics.export.PeriodicMetricReader.builder(
OtlpGrpcMetricExporter.getDefault())
OtlpHttpMetricExporter.getDefault())
.build())
.registerView(
InstrumentSelector.builder().setName("instrument-name").build(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import com.linecorp.armeria.testing.junit5.server.SelfSignedCertificateExtension;
import io.opentelemetry.exporter.logging.LoggingMetricExporter;
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporter;
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
Expand Down Expand Up @@ -65,7 +64,7 @@ class MetricExporterFactoryTest {
void create_OtlpDefaults() {
spiHelper = spy(spiHelper);
List<Closeable> closeables = new ArrayList<>();
OtlpGrpcMetricExporter expectedExporter = OtlpGrpcMetricExporter.getDefault();
OtlpHttpMetricExporter expectedExporter = OtlpHttpMetricExporter.getDefault();
cleanup.addCloseable(expectedExporter);

MetricExporter exporter =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import static org.mockito.Mockito.verify;

import io.github.netmikey.logunit.api.LogCapturer;
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporter;
import io.opentelemetry.exporter.prometheus.PrometheusHttpServer;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
Expand Down Expand Up @@ -62,7 +62,7 @@ void create_PeriodicDefaults() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.metrics.export.PeriodicMetricReader expectedReader =
io.opentelemetry.sdk.metrics.export.PeriodicMetricReader.builder(
OtlpGrpcMetricExporter.getDefault())
OtlpHttpMetricExporter.getDefault())
.build();
cleanup.addCloseable(expectedReader);

Expand All @@ -87,7 +87,7 @@ void create_PeriodicConfigured() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.metrics.export.MetricReader expectedReader =
io.opentelemetry.sdk.metrics.export.PeriodicMetricReader.builder(
OtlpGrpcMetricExporter.getDefault())
OtlpHttpMetricExporter.getDefault())
.setInterval(Duration.ofMillis(1))
.build();
cleanup.addCloseable(expectedReader);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporter;
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter;
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporter;
import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter;
import io.opentelemetry.extension.trace.propagation.B3Propagator;
import io.opentelemetry.extension.trace.propagation.JaegerPropagator;
import io.opentelemetry.extension.trace.propagation.OtTracePropagator;
Expand Down Expand Up @@ -169,7 +169,7 @@ void create_Configured() {
.build())
.addLogRecordProcessor(
io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor.builder(
OtlpGrpcLogRecordExporter.getDefault())
OtlpHttpLogRecordExporter.getDefault())
.build())
.build())
.setTracerProvider(
Expand All @@ -187,15 +187,15 @@ void create_Configured() {
.setSampler(alwaysOn())
.addSpanProcessor(
io.opentelemetry.sdk.trace.export.BatchSpanProcessor.builder(
OtlpGrpcSpanExporter.getDefault())
OtlpHttpSpanExporter.getDefault())
.build())
.build())
.setMeterProvider(
SdkMeterProvider.builder()
.setResource(expectedResource)
.registerMetricReader(
io.opentelemetry.sdk.metrics.export.PeriodicMetricReader.builder(
OtlpGrpcMetricExporter.getDefault())
OtlpHttpMetricExporter.getDefault())
.build())
.registerView(
InstrumentSelector.builder().setName("instrument-name").build(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import com.linecorp.armeria.testing.junit5.server.SelfSignedCertificateExtension;
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter;
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
Expand Down Expand Up @@ -63,7 +62,7 @@ class SpanExporterFactoryTest {
void create_OtlpDefaults() {
spiHelper = spy(spiHelper);
List<Closeable> closeables = new ArrayList<>();
OtlpGrpcSpanExporter expectedExporter = OtlpGrpcSpanExporter.getDefault();
OtlpHttpSpanExporter expectedExporter = OtlpHttpSpanExporter.getDefault();
cleanup.addCloseable(expectedExporter);

SpanExporter exporter =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import static org.assertj.core.api.Assertions.assertThatThrownBy;

import com.google.common.collect.ImmutableMap;
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
Expand Down Expand Up @@ -53,7 +53,7 @@ void create_BatchDefaults() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.trace.export.BatchSpanProcessor expectedProcessor =
io.opentelemetry.sdk.trace.export.BatchSpanProcessor.builder(
OtlpGrpcSpanExporter.getDefault())
OtlpHttpSpanExporter.getDefault())
.build();
cleanup.addCloseable(expectedProcessor);

Expand All @@ -77,7 +77,7 @@ void create_BatchConfigured() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.trace.export.BatchSpanProcessor expectedProcessor =
io.opentelemetry.sdk.trace.export.BatchSpanProcessor.builder(
OtlpGrpcSpanExporter.getDefault())
OtlpHttpSpanExporter.getDefault())
.setScheduleDelay(Duration.ofMillis(1))
.setMaxExportBatchSize(2)
.setExporterTimeout(Duration.ofMillis(3))
Expand Down Expand Up @@ -120,7 +120,7 @@ void create_SimpleConfigured() {
List<Closeable> closeables = new ArrayList<>();
io.opentelemetry.sdk.trace.SpanProcessor expectedProcessor =
io.opentelemetry.sdk.trace.export.SimpleSpanProcessor.create(
OtlpGrpcSpanExporter.getDefault());
OtlpHttpSpanExporter.getDefault());
cleanup.addCloseable(expectedProcessor);

io.opentelemetry.sdk.trace.SpanProcessor processor =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.sdk.trace.samplers.Sampler.alwaysOn;

import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter;
import io.opentelemetry.internal.testing.CleanupExtension;
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.AlwaysOnModel;
Expand Down Expand Up @@ -95,7 +95,7 @@ private static Stream<Arguments> createArguments() {
.setSampler(alwaysOn())
.addSpanProcessor(
io.opentelemetry.sdk.trace.export.BatchSpanProcessor.builder(
OtlpGrpcSpanExporter.getDefault())
OtlpHttpSpanExporter.getDefault())
.build())
.build()));
}
Expand Down

0 comments on commit 62df132

Please sign in to comment.