Move ConfigProperties / ConfigurationException to SPI package and consistently pass ConfigProperties (#3558)
This commit is contained in:
parent
9e73bfe9e5
commit
98fdf9b4bc
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
package io.opentelemetry.sdk.autoconfigure;
|
||||
|
||||
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException;
|
||||
|
||||
final class ClasspathUtil {
|
||||
|
||||
@SuppressWarnings("UnusedException")
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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;
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
package io.opentelemetry.sdk.autoconfigure.spi;
|
||||
|
||||
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
|
||||
import io.opentelemetry.sdk.metrics.export.MetricExporter;
|
||||
|
||||
/**
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
package io.opentelemetry.sdk.autoconfigure.spi;
|
||||
|
||||
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
|
||||
import io.opentelemetry.sdk.trace.samplers.Sampler;
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
package io.opentelemetry.sdk.autoconfigure.spi;
|
||||
|
||||
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
|
||||
import io.opentelemetry.sdk.trace.export.SpanExporter;
|
||||
|
||||
/**
|
||||
|
|
|
@ -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 {
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
package io.opentelemetry.sdk.autoconfigure.spi;
|
||||
|
||||
import io.opentelemetry.sdk.autoconfigure.ConfigProperties;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
|
||||
/**
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -197,7 +197,7 @@ class FullConfigTest {
|
|||
.contains(
|
||||
KeyValue.newBuilder()
|
||||
.setKey("configured")
|
||||
.setValue(AnyValue.newBuilder().setStringValue("true").build())
|
||||
.setValue(AnyValue.newBuilder().setBoolValue(true).build())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue