Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to latest opentelemetry-configuration, add disabled support #5766

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion sdk-extensions/incubator/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ dependencies {
// ... proceed with normal sourcesJar, compileJava, etc

// TODO(jack-berg): update ref to be released version when available
val configurationRef = "2107dbb6f2a6c99fe2f55d550796ee7e2286fd1d"
val configurationRef = "0eb96de17c6533f668163873d95bd026bce1d8fb"
val configurationRepoZip = "https://github.com/open-telemetry/opentelemetry-configuration/archive/$configurationRef.zip"
val buildDirectory = layout.buildDirectory.asFile.get()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import io.opentelemetry.sdk.resources.Resource;
import java.io.Closeable;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;

final class OpenTelemetryConfigurationFactory
Expand Down Expand Up @@ -40,6 +41,10 @@ public OpenTelemetrySdk create(

OpenTelemetrySdkBuilder builder = OpenTelemetrySdk.builder();

if (Objects.equals(Boolean.TRUE, model.getDisabled())) {
return builder.build();
}

builder.setPropagators(
PropagatorsFactory.getInstance().create(model.getPropagators(), spiHelper, closeables));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfiguration;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.Otlp;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OtlpMetric;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OtlpMetric.DefaultHistogramAggregation;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.ParentBased;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.PeriodicMetricReader;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.Prometheus;
Expand All @@ -42,6 +43,7 @@
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.TraceIdRatioBased;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.TracerProvider;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.View;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.Zipkin;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
Expand All @@ -56,6 +58,7 @@ void read_KitchenSinkExampleFile() throws IOException {
OpenTelemetryConfiguration expected = new OpenTelemetryConfiguration();

expected.withFileFormat("0.1");
expected.withDisabled(false);

// General config
Resource resource =
Expand Down Expand Up @@ -118,11 +121,21 @@ void read_KitchenSinkExampleFile() throws IOException {
.withCompression("gzip")
.withTimeout(10_000))));
SpanProcessor spanProcessor2 =
new SpanProcessor()
.withBatch(
new BatchSpanProcessor()
.withExporter(
new SpanExporter()
.withZipkin(
new Zipkin()
.withEndpoint("http://localhost:9411/api/v2/spans")
.withTimeout(10_000))));
SpanProcessor spanProcessor3 =
new SpanProcessor()
.withSimple(
new SimpleSpanProcessor()
.withExporter(new SpanExporter().withConsole(new Console())));
tracerProvider.withProcessors(Arrays.asList(spanProcessor1, spanProcessor2));
tracerProvider.withProcessors(Arrays.asList(spanProcessor1, spanProcessor2, spanProcessor3));

expected.withTracerProvider(tracerProvider);
// end TracerProvider config
Expand Down Expand Up @@ -192,7 +205,8 @@ void read_KitchenSinkExampleFile() throws IOException {
.withTimeout(10_000)
.withTemporalityPreference("delta")
.withDefaultHistogramAggregation(
"exponential_bucket_histogram"))));
DefaultHistogramAggregation
.BASE_2_EXPONENTIAL_BUCKET_HISTOGRAM))));
MetricReader metricReader3 =
new MetricReader()
.withPeriodic(
Expand All @@ -205,7 +219,8 @@ void read_KitchenSinkExampleFile() throws IOException {
.withSelector(
new Selector()
.withInstrumentName("my-instrument")
.withInstrumentType("histogram")
.withInstrumentType(Selector.InstrumentType.HISTOGRAM)
.withUnit("ms")
.withMeterName("my-meter")
.withMeterVersion("1.0.0")
.withMeterSchemaUrl("https://opentelemetry.io/schemas/1.16.0"))
Expand Down Expand Up @@ -243,7 +258,7 @@ void read_KitchenSinkExampleFile() throws IOException {
assertThat(configTracerProvider.getLimits()).isEqualTo(spanLimits);
assertThat(configTracerProvider.getSampler()).isEqualTo(sampler);
assertThat(configTracerProvider.getProcessors())
.isEqualTo(Arrays.asList(spanProcessor1, spanProcessor2));
.isEqualTo(Arrays.asList(spanProcessor1, spanProcessor2, spanProcessor3));

// LoggerProvider config
LoggerProvider configLoggerProvider = config.getLoggerProvider();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.Otlp;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.Resource;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.Sampler;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SimpleLogRecordProcessor;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SpanExporter;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SpanProcessor;
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.TracerProvider;
Expand Down Expand Up @@ -111,6 +112,37 @@ void create_Defaults() {
assertThat(sdk.toString()).isEqualTo(expectedSdk.toString());
}

@Test
void create_Disabled() {
List<Closeable> closeables = new ArrayList<>();
OpenTelemetrySdk expectedSdk = OpenTelemetrySdk.builder().build();
cleanup.addCloseable(expectedSdk);

OpenTelemetrySdk sdk =
OpenTelemetryConfigurationFactory.getInstance()
.create(
new OpenTelemetryConfiguration()
.withFileFormat("0.1")
.withDisabled(true)
// Logger provider configuration should be ignored since SDK is disabled
.withLoggerProvider(
new LoggerProvider()
.withProcessors(
Collections.singletonList(
new LogRecordProcessor()
.withSimple(
new SimpleLogRecordProcessor()
.withExporter(
new LogRecordExporter()
.withOtlp(new Otlp())))))),
spiHelper,
closeables);
cleanup.addCloseable(sdk);
cleanup.addCloseables(closeables);

assertThat(sdk.toString()).isEqualTo(expectedSdk.toString());
}

@Test
void create_Configured() {
List<Closeable> closeables = new ArrayList<>();
Expand Down