Move ConfigProperties / ConfigurationException to SPI package and consistently pass ConfigProperties (#3558)

This commit is contained in:
Anuraag Agrawal 2021-08-31 12:55:36 +09:00 committed by GitHub
parent 9e73bfe9e5
commit 98fdf9b4bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
58 changed files with 99 additions and 40 deletions

View File

@ -6,6 +6,7 @@
package io.opentelemetry.extension.aws;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
/**
@ -14,7 +15,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
*/
public final class AwsConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator() {
public TextMapPropagator getPropagator(ConfigProperties config) {
return AwsXrayPropagator.getInstance();
}

View File

@ -6,6 +6,7 @@
package io.opentelemetry.extension.trace.propagation;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
/**
@ -14,7 +15,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
*/
public final class B3ConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator() {
public TextMapPropagator getPropagator(ConfigProperties config) {
return B3Propagator.injectingSingleHeader();
}

View File

@ -6,6 +6,7 @@
package io.opentelemetry.extension.trace.propagation;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
/**
@ -15,7 +16,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
*/
public final class B3MultiConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator() {
public TextMapPropagator getPropagator(ConfigProperties config) {
return B3Propagator.injectingMultiHeaders();
}

View File

@ -6,6 +6,7 @@
package io.opentelemetry.extension.trace.propagation;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
/**
@ -14,7 +15,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
*/
public final class JaegerConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator() {
public TextMapPropagator getPropagator(ConfigProperties config) {
return JaegerPropagator.getInstance();
}

View File

@ -6,6 +6,7 @@
package io.opentelemetry.extension.trace.propagation;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
/**
@ -14,7 +15,7 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
*/
public final class OtTraceConfigurablePropagator implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator() {
public TextMapPropagator getPropagator(ConfigProperties config) {
return OtTracePropagator.getInstance();
}

View File

@ -97,6 +97,7 @@ tasks {
environment("OTEL_EXPORTER_OTLP_HEADERS", "cat=meow,dog=bark")
environment("OTEL_EXPORTER_OTLP_TIMEOUT", "5000")
environment("OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT", "2")
environment("OTEL_TEST_CONFIGURED", "true")
}
val testInitializeRegistersGlobal by existing(Test::class) {

View File

@ -5,6 +5,8 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
final class ClasspathUtil {
@SuppressWarnings("UnusedException")

View File

@ -5,6 +5,8 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import java.time.Duration;
import java.util.AbstractMap;
import java.util.Arrays;

View File

@ -7,6 +7,7 @@ package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.AttributesBuilder;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;

View File

@ -13,7 +13,9 @@ import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporterBuilder
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporterBuilder;
import io.opentelemetry.exporter.prometheus.PrometheusCollector;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableMetricExporterProvider;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.export.IntervalMetricReader;
import io.opentelemetry.sdk.metrics.export.IntervalMetricReaderBuilder;

View File

@ -5,6 +5,7 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;
import java.util.HashSet;

View File

@ -8,6 +8,7 @@ package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.SdkMeterProviderConfigurer;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
@ -91,7 +92,7 @@ public final class OpenTelemetrySdkAutoConfiguration {
for (SdkMeterProviderConfigurer configurer :
ServiceLoader.load(SdkMeterProviderConfigurer.class)) {
configurer.configure(meterProviderBuilder);
configurer.configure(meterProviderBuilder, config);
}
SdkMeterProvider meterProvider = meterProviderBuilder.buildAndRegisterGlobal();

View File

@ -5,6 +5,8 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

View File

@ -9,7 +9,9 @@ import io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator;
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
@ -28,7 +30,8 @@ final class PropagatorConfiguration {
.collect(
Collectors.toMap(
ConfigurablePropagatorProvider::getName,
ConfigurablePropagatorProvider::getPropagator));
configurablePropagatorProvider ->
configurablePropagatorProvider.getPropagator(config)));
Set<TextMapPropagator> propagators = new LinkedHashSet<>();
List<String> requestedPropagators = config.getCommaSeparatedValues("otel.propagators");

View File

@ -20,7 +20,9 @@ import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporterBuilder;
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporterBuilder;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableSpanExporterProvider;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import java.time.Duration;
import java.util.Collections;

View File

@ -5,7 +5,9 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableSamplerProvider;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.autoconfigure.spi.SdkTracerProviderConfigurer;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
@ -44,7 +46,7 @@ final class TracerProviderConfiguration {
// processors to effect export.
for (SdkTracerProviderConfigurer configurer :
ServiceLoader.load(SdkTracerProviderConfigurer.class)) {
configurer.configure(tracerProviderBuilder);
configurer.configure(tracerProviderBuilder, config);
}
Map<String, SpanExporter> exportersByName =

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.sdk.autoconfigure;
package io.opentelemetry.sdk.autoconfigure.spi;
import java.time.Duration;
import java.util.List;

View File

@ -5,7 +5,6 @@
package io.opentelemetry.sdk.autoconfigure.spi;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.metrics.export.MetricExporter;
/**

View File

@ -11,15 +11,16 @@ import io.opentelemetry.context.propagation.TextMapPropagator;
/**
* A service provider interface (SPI) for providing additional propagators that can be used with the
* autoconfigured SDK. If the {@code otel.propagators} property contains a value equal to what is
* returned by {@link #getName()}, the propagator returned by {@link #getPropagator()} will be
* enabled and available as part of {@link OpenTelemetry#getPropagators()}.
* returned by {@link #getName()}, the propagator returned by {@link
* #getPropagator(ConfigProperties)} will be enabled and available as part of {@link
* OpenTelemetry#getPropagators()}.
*/
public interface ConfigurablePropagatorProvider {
/**
* Returns a {@link TextMapPropagator} that can be registered to OpenTelemetry by providing the
* property value specified by {@link #getName()}.
*/
TextMapPropagator getPropagator();
TextMapPropagator getPropagator(ConfigProperties config);
/**
* Returns the name of this propagator, which can be specified with the {@code otel.propagators}

View File

@ -5,7 +5,6 @@
package io.opentelemetry.sdk.autoconfigure.spi;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.trace.samplers.Sampler;
/**

View File

@ -5,7 +5,6 @@
package io.opentelemetry.sdk.autoconfigure.spi;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.trace.export.SpanExporter;
/**

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.sdk.autoconfigure;
package io.opentelemetry.sdk.autoconfigure.spi;
/** An exception that is thrown if the user-provided configuration is invalid. */
public final class ConfigurationException extends RuntimeException {

View File

@ -5,7 +5,6 @@
package io.opentelemetry.sdk.autoconfigure.spi;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.resources.Resource;
/**

View File

@ -12,10 +12,8 @@ import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
* {@link SdkMeterProviderBuilder} during initialization. When using auto-configuration, you should
* prefer to use system properties or environment variables for configuration, but this may be
* useful to register components that are not part of the SDK such as registering views.
*
* @since 1.1.0
*/
public interface SdkMeterProviderConfigurer {
/** Configures the {@link SdkMeterProviderBuilder}. */
void configure(SdkMeterProviderBuilder meterProviderBuilder);
void configure(SdkMeterProviderBuilder meterProviderBuilder, ConfigProperties config);
}

View File

@ -15,5 +15,5 @@ import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
*/
public interface SdkTracerProviderConfigurer {
/** Configures the {@link SdkTracerProviderBuilder}. */
void configure(SdkTracerProviderBuilder tracerProviderBuilder);
void configure(SdkTracerProviderBuilder tracerProviderBuilder, ConfigProperties config);
}

View File

@ -0,0 +1,10 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
/** Java SPI (Service Provider Interface) for implementing extensions to SDK autoconfiguration. */
@ParametersAreNonnullByDefault
package io.opentelemetry.sdk.autoconfigure.spi;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@ -9,6 +9,8 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.Assertions.entry;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import java.time.Duration;
import java.util.Collections;
import java.util.HashMap;

View File

@ -8,6 +8,8 @@ package io.opentelemetry.sdk.autoconfigure;
import static org.assertj.core.api.Assertions.assertThatCode;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import java.util.Collections;
import org.junit.jupiter.api.Test;

View File

@ -9,6 +9,7 @@ import static java.util.Collections.singletonMap;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import org.junit.jupiter.api.Test;

View File

@ -10,6 +10,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.Mockito.when;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.SdkTracerProvider;

View File

@ -12,6 +12,7 @@ import io.github.netmikey.logunit.api.LogCapturer;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.context.propagation.ContextPropagators;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.junitpioneer.jupiter.SetSystemProperty;

View File

@ -9,6 +9,8 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import com.google.common.collect.ImmutableMap;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.export.MetricExporter;
import java.util.Collections;

View File

@ -9,6 +9,8 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import com.google.common.collect.ImmutableMap;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.trace.samplers.Sampler;
import java.util.Collections;
import org.junit.jupiter.api.Test;

View File

@ -12,6 +12,8 @@ import com.google.common.collect.ImmutableMap;
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
import io.opentelemetry.sdk.trace.export.SpanExporter;

View File

@ -197,7 +197,7 @@ class FullConfigTest {
.contains(
KeyValue.newBuilder()
.setKey("configured")
.setValue(AnyValue.newBuilder().setStringValue("true").build())
.setValue(AnyValue.newBuilder().setBoolValue(true).build())
.build());
}
}

View File

@ -8,6 +8,7 @@ package io.opentelemetry.sdk.autoconfigure;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import com.google.common.collect.ImmutableMap;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import org.junit.jupiter.api.Test;

View File

@ -9,6 +9,7 @@ import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.context.propagation.TextMapSetter;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
import java.util.Collection;
import java.util.Collections;
@ -16,7 +17,7 @@ import javax.annotation.Nullable;
public class NotEnabledConfigurablePropagatorProvider implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator() {
public TextMapPropagator getPropagator(ConfigProperties config) {
return new TextMapPropagator() {
@Override
public Collection<String> fields() {

View File

@ -11,6 +11,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import com.google.common.collect.ImmutableMap;
import io.opentelemetry.exporter.jaeger.JaegerGrpcSpanExporter;
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import java.util.Collections;
import java.util.concurrent.TimeUnit;

View File

@ -5,6 +5,7 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableMetricExporterProvider;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.metrics.data.MetricData;

View File

@ -9,6 +9,7 @@ import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.context.propagation.TextMapSetter;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
import java.util.Collection;
import java.util.Collections;
@ -16,7 +17,7 @@ import javax.annotation.Nullable;
public class TestConfigurablePropagatorProvider implements ConfigurablePropagatorProvider {
@Override
public TextMapPropagator getPropagator() {
public TextMapPropagator getPropagator(ConfigProperties config) {
return new TextMapPropagator() {
@Override
public Collection<String> fields() {

View File

@ -8,6 +8,7 @@ package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableSamplerProvider;
import io.opentelemetry.sdk.trace.data.LinkData;
import io.opentelemetry.sdk.trace.samplers.Sampler;

View File

@ -5,6 +5,7 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableSpanExporterProvider;
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.trace.data.SpanData;

View File

@ -5,6 +5,7 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.SdkMeterProviderConfigurer;
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
import io.opentelemetry.sdk.metrics.aggregator.AggregatorFactory;
@ -17,10 +18,13 @@ import io.opentelemetry.sdk.metrics.view.View;
public class TestMeterProviderConfigurer implements SdkMeterProviderConfigurer {
@Override
public void configure(SdkMeterProviderBuilder meterProviderBuilder) {
public void configure(SdkMeterProviderBuilder meterProviderBuilder, ConfigProperties config) {
LabelsProcessorFactory labelsProcessorFactory =
(resource, instrumentationLibraryInfo, descriptor) ->
(ctx, labels) -> labels.toBuilder().put("configured", "true").build();
(ctx, labels) ->
labels.toBuilder()
.put("configured", config.getBoolean("otel.test.configured"))
.build();
for (InstrumentType instrumentType : InstrumentType.values()) {
meterProviderBuilder.registerView(

View File

@ -6,6 +6,7 @@
package io.opentelemetry.sdk.autoconfigure;
import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.SdkTracerProviderConfigurer;
import io.opentelemetry.sdk.trace.ReadWriteSpan;
import io.opentelemetry.sdk.trace.ReadableSpan;
@ -14,12 +15,12 @@ import io.opentelemetry.sdk.trace.SpanProcessor;
public class TestTracerProviderConfigurer implements SdkTracerProviderConfigurer {
@Override
public void configure(SdkTracerProviderBuilder tracerProvider) {
public void configure(SdkTracerProviderBuilder tracerProvider, ConfigProperties config) {
tracerProvider.addSpanProcessor(
new SpanProcessor() {
@Override
public void onStart(Context parentContext, ReadWriteSpan span) {
span.setAttribute("configured", true);
span.setAttribute("configured", config.getBoolean("otel.test.configured"));
}
@Override

View File

@ -27,6 +27,8 @@ import io.opentelemetry.proto.collector.metrics.v1.MetricsServiceGrpc;
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest;
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse;
import io.opentelemetry.proto.collector.trace.v1.TraceServiceGrpc;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;

View File

@ -26,6 +26,8 @@ import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest;
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.aws.resource;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.aws.resource;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.aws.resource;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.aws.resource;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.aws.resource;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.trace.jaeger.sampler;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableSamplerProvider;
import io.opentelemetry.sdk.trace.samplers.Sampler;
import java.util.Map;

View File

@ -10,7 +10,7 @@ import static org.assertj.core.api.InstanceOfAssertFactories.type;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurableSamplerProvider;
import io.opentelemetry.sdk.trace.samplers.Sampler;
import java.util.HashMap;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.resources;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.resources;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.resources;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.resources;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;

View File

@ -5,7 +5,7 @@
package io.opentelemetry.sdk.extension.resources;
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider;
import io.opentelemetry.sdk.resources.Resource;