Remove OpenTelemetry SPI (#2504)
This commit is contained in:
parent
e0f6260bc9
commit
6bee59e912
|
|
@ -14,7 +14,7 @@ import io.opentelemetry.context.propagation.ContextPropagators;
|
||||||
@SuppressWarnings("deprecation") // Remove after deleting OpenTelemetry SPI
|
@SuppressWarnings("deprecation") // Remove after deleting OpenTelemetry SPI
|
||||||
public final class DefaultOpenTelemetryBuilder {
|
public final class DefaultOpenTelemetryBuilder {
|
||||||
private ContextPropagators propagators = ContextPropagators.noop();
|
private ContextPropagators propagators = ContextPropagators.noop();
|
||||||
private TracerProvider tracerProvider;
|
private TracerProvider tracerProvider = TracerProvider.getDefault();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Package protected to disallow direct initialization.
|
* Package protected to disallow direct initialization.
|
||||||
|
|
@ -53,17 +53,6 @@ public final class DefaultOpenTelemetryBuilder {
|
||||||
* @return a new {@link OpenTelemetry}.
|
* @return a new {@link OpenTelemetry}.
|
||||||
*/
|
*/
|
||||||
public OpenTelemetry build() {
|
public OpenTelemetry build() {
|
||||||
TracerProvider tracerProvider = this.tracerProvider;
|
|
||||||
if (tracerProvider == null) {
|
|
||||||
io.opentelemetry.spi.trace.TracerProviderFactory tracerProviderFactory =
|
|
||||||
Utils.loadSpi(io.opentelemetry.spi.trace.TracerProviderFactory.class);
|
|
||||||
if (tracerProviderFactory != null) {
|
|
||||||
tracerProvider = tracerProviderFactory.create();
|
|
||||||
} else {
|
|
||||||
tracerProvider = TracerProvider.getDefault();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return new DefaultOpenTelemetry(tracerProvider, propagators);
|
return new DefaultOpenTelemetry(tracerProvider, propagators);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,8 @@ import javax.annotation.Nullable;
|
||||||
@SuppressWarnings("deprecation") // Remove after deleting OpenTelemetry SPI
|
@SuppressWarnings("deprecation") // Remove after deleting OpenTelemetry SPI
|
||||||
public final class GlobalOpenTelemetry {
|
public final class GlobalOpenTelemetry {
|
||||||
|
|
||||||
|
private static final OpenTelemetry NOOP = DefaultOpenTelemetry.builder().build();
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(GlobalOpenTelemetry.class.getName());
|
private static final Logger logger = Logger.getLogger(GlobalOpenTelemetry.class.getName());
|
||||||
|
|
||||||
private static final Object mutex = new Object();
|
private static final Object mutex = new Object();
|
||||||
|
|
@ -54,13 +56,7 @@ public final class GlobalOpenTelemetry {
|
||||||
return autoConfigured;
|
return autoConfigured;
|
||||||
}
|
}
|
||||||
|
|
||||||
io.opentelemetry.spi.OpenTelemetryFactory openTelemetryFactory =
|
return NOOP;
|
||||||
Utils.loadSpi(io.opentelemetry.spi.OpenTelemetryFactory.class);
|
|
||||||
if (openTelemetryFactory != null) {
|
|
||||||
set(openTelemetryFactory.create());
|
|
||||||
} else {
|
|
||||||
set(DefaultOpenTelemetry.builder().build());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.spi;
|
|
||||||
|
|
||||||
import io.opentelemetry.api.OpenTelemetry;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A service provider interface (SPI) for a {@link OpenTelemetry}. Fully qualified class name of the
|
|
||||||
* implementation should be registered in a resource file {@code
|
|
||||||
* META-INF/services/io.opentelemetry.spi.OpenTelemetryFactory}.
|
|
||||||
*
|
|
||||||
* <p>A specific implementation can be selected by setting the system property {@code
|
|
||||||
* io.opentelemetry.spi.OpenTelemetryFactory} with the value of the fully qualified class name.
|
|
||||||
*
|
|
||||||
* @deprecated Use {@link io.opentelemetry.api.DefaultOpenTelemetry#builder} to initialize
|
|
||||||
* OpenTelemetry with a custom provider, or {@code OpenTelemetrySdk#builder} or {@code
|
|
||||||
* opentelemetry-sdk-extension-autoconfigure} to configure the default SDK.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public interface OpenTelemetryFactory {
|
|
||||||
|
|
||||||
/** Returns a new {@link OpenTelemetry} instance. */
|
|
||||||
OpenTelemetry create();
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.spi.trace;
|
|
||||||
|
|
||||||
import io.opentelemetry.api.OpenTelemetry;
|
|
||||||
import io.opentelemetry.api.trace.TracerProvider;
|
|
||||||
import javax.annotation.concurrent.ThreadSafe;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TracerProviderFactory is a service provider for a {@link TracerProvider}. Fully qualified class
|
|
||||||
* name of the implementation should be registered in {@code
|
|
||||||
* META-INF/services/io.opentelemetry.trace.spi.TracerProviderFactory}. <br>
|
|
||||||
* <br>
|
|
||||||
* A specific implementation can be selected by a system property {@code
|
|
||||||
* io.opentelemetry.trace.spi.TracerProviderFactory} with value of fully qualified class name.
|
|
||||||
*
|
|
||||||
* @see OpenTelemetry
|
|
||||||
* @deprecated Use {@link io.opentelemetry.api.DefaultOpenTelemetry#builder} to initialize
|
|
||||||
* OpenTelemetry with a custom provider, or {@code OpenTelemetrySdk#builder} or {@code
|
|
||||||
* opentelemetry-sdk-extension-autoconfigure} to configure the default SDK.
|
|
||||||
*/
|
|
||||||
@ThreadSafe
|
|
||||||
@Deprecated
|
|
||||||
public interface TracerProviderFactory {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new TracerProvider.
|
|
||||||
*
|
|
||||||
* @return a new TracerProvider.
|
|
||||||
*/
|
|
||||||
TracerProvider create();
|
|
||||||
}
|
|
||||||
|
|
@ -6,20 +6,12 @@
|
||||||
package io.opentelemetry.api;
|
package io.opentelemetry.api;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import io.opentelemetry.api.trace.SpanBuilder;
|
|
||||||
import io.opentelemetry.api.trace.Tracer;
|
import io.opentelemetry.api.trace.Tracer;
|
||||||
import io.opentelemetry.api.trace.TracerProvider;
|
import io.opentelemetry.api.trace.TracerProvider;
|
||||||
import io.opentelemetry.context.propagation.ContextPropagators;
|
import io.opentelemetry.context.propagation.ContextPropagators;
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Writer;
|
|
||||||
import java.net.URL;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
@ -35,7 +27,6 @@ class OpenTelemetryTest {
|
||||||
@AfterEach
|
@AfterEach
|
||||||
void after() {
|
void after() {
|
||||||
GlobalOpenTelemetry.reset();
|
GlobalOpenTelemetry.reset();
|
||||||
System.clearProperty(io.opentelemetry.spi.trace.TracerProviderFactory.class.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -62,51 +53,6 @@ class OpenTelemetryTest {
|
||||||
assertThat(openTelemetry.getPropagators()).isSameAs(contextPropagators);
|
assertThat(openTelemetry.getPropagators()).isSameAs(contextPropagators);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
void testTracerLoadArbitrary() throws IOException {
|
|
||||||
File serviceFile =
|
|
||||||
createService(
|
|
||||||
io.opentelemetry.spi.trace.TracerProviderFactory.class,
|
|
||||||
FirstTracerProviderFactory.class,
|
|
||||||
SecondTracerProviderFactory.class);
|
|
||||||
try {
|
|
||||||
assertThat(
|
|
||||||
(GlobalOpenTelemetry.getTracerProvider().get("")
|
|
||||||
instanceof FirstTracerProviderFactory)
|
|
||||||
|| (GlobalOpenTelemetry.getTracerProvider().get("")
|
|
||||||
instanceof SecondTracerProviderFactory))
|
|
||||||
.isTrue();
|
|
||||||
} finally {
|
|
||||||
assertThat(serviceFile.delete()).isTrue();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testTracerSystemProperty() throws IOException {
|
|
||||||
File serviceFile =
|
|
||||||
createService(
|
|
||||||
io.opentelemetry.spi.trace.TracerProviderFactory.class,
|
|
||||||
FirstTracerProviderFactory.class,
|
|
||||||
SecondTracerProviderFactory.class);
|
|
||||||
System.setProperty(
|
|
||||||
io.opentelemetry.spi.trace.TracerProviderFactory.class.getName(),
|
|
||||||
SecondTracerProviderFactory.class.getName());
|
|
||||||
try {
|
|
||||||
assertThat(GlobalOpenTelemetry.getTracerProvider().get(""))
|
|
||||||
.isInstanceOf(SecondTracerProviderFactory.class);
|
|
||||||
} finally {
|
|
||||||
assertThat(serviceFile.delete()).isTrue();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testTracerNotFound() {
|
|
||||||
System.setProperty(
|
|
||||||
io.opentelemetry.spi.trace.TracerProviderFactory.class.getName(), "io.does.not.exists");
|
|
||||||
assertThatThrownBy(() -> GlobalOpenTelemetry.getTracer("testTracer"))
|
|
||||||
.isInstanceOf(IllegalStateException.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void independentNonGlobalTracers() {
|
void independentNonGlobalTracers() {
|
||||||
TracerProvider provider1 = mock(TracerProvider.class);
|
TracerProvider provider1 = mock(TracerProvider.class);
|
||||||
|
|
@ -136,62 +82,4 @@ class OpenTelemetryTest {
|
||||||
assertThat(otel1.getPropagators()).isSameAs(propagators1);
|
assertThat(otel1.getPropagators()).isSameAs(propagators1);
|
||||||
assertThat(otel2.getPropagators()).isSameAs(propagators2);
|
assertThat(otel2.getPropagators()).isSameAs(propagators2);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static File createService(Class<?> service, Class<?>... impls) throws IOException {
|
|
||||||
URL location = OpenTelemetryTest.class.getProtectionDomain().getCodeSource().getLocation();
|
|
||||||
File file = new File(location.getPath() + "META-INF/services/" + service.getName());
|
|
||||||
file.getParentFile().mkdirs();
|
|
||||||
|
|
||||||
@SuppressWarnings("DefaultCharset")
|
|
||||||
Writer output = new FileWriter(file);
|
|
||||||
for (Class<?> impl : impls) {
|
|
||||||
output.write(impl.getName());
|
|
||||||
output.write(System.getProperty("line.separator"));
|
|
||||||
}
|
|
||||||
output.close();
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class SecondTracerProviderFactory extends FirstTracerProviderFactory {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Tracer get(String instrumentationName) {
|
|
||||||
return new SecondTracerProviderFactory();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Tracer get(String instrumentationName, String instrumentationVersion) {
|
|
||||||
return get(instrumentationName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TracerProvider create() {
|
|
||||||
return new SecondTracerProviderFactory();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class FirstTracerProviderFactory
|
|
||||||
implements Tracer, TracerProvider, io.opentelemetry.spi.trace.TracerProviderFactory {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Tracer get(String instrumentationName) {
|
|
||||||
return new FirstTracerProviderFactory();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Tracer get(String instrumentationName, String instrumentationVersion) {
|
|
||||||
return get(instrumentationName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public SpanBuilder spanBuilder(String spanName) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TracerProvider create() {
|
|
||||||
return new FirstTracerProviderFactory();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,7 @@
|
||||||
|
|
||||||
package io.opentelemetry.api.metrics;
|
package io.opentelemetry.api.metrics;
|
||||||
|
|
||||||
import io.opentelemetry.spi.metrics.MeterProviderFactory;
|
|
||||||
import java.util.ServiceLoader;
|
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IMPORTANT: This is a temporary class, and solution for the metrics package until it will be
|
* IMPORTANT: This is a temporary class, and solution for the metrics package until it will be
|
||||||
|
|
@ -26,13 +23,7 @@ public class GlobalMetricsProvider {
|
||||||
if (meterProvider == null) {
|
if (meterProvider == null) {
|
||||||
synchronized (mutex) {
|
synchronized (mutex) {
|
||||||
if (globalMeterProvider.get() == null) {
|
if (globalMeterProvider.get() == null) {
|
||||||
MeterProviderFactory meterProviderFactory = loadSpi();
|
return MeterProvider.getDefault();
|
||||||
if (meterProviderFactory != null) {
|
|
||||||
meterProvider = meterProviderFactory.create();
|
|
||||||
} else {
|
|
||||||
meterProvider = MeterProvider.getDefault();
|
|
||||||
}
|
|
||||||
globalMeterProvider.compareAndSet(null, meterProvider);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -77,27 +68,4 @@ public class GlobalMetricsProvider {
|
||||||
public static Meter getMeter(String instrumentationName, String instrumentationVersion) {
|
public static Meter getMeter(String instrumentationName, String instrumentationVersion) {
|
||||||
return get().get(instrumentationName, instrumentationVersion);
|
return get().get(instrumentationName, instrumentationVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Load provider class via {@link ServiceLoader}. A specific provider class can be requested via
|
|
||||||
* setting a system property with FQCN.
|
|
||||||
*
|
|
||||||
* @return a provider or null if not found
|
|
||||||
* @throws IllegalStateException if a specified provider is not found
|
|
||||||
*/
|
|
||||||
@Nullable
|
|
||||||
private static MeterProviderFactory loadSpi() {
|
|
||||||
String specifiedProvider = System.getProperty(MeterProviderFactory.class.getName());
|
|
||||||
ServiceLoader<MeterProviderFactory> providers = ServiceLoader.load(MeterProviderFactory.class);
|
|
||||||
for (MeterProviderFactory provider : providers) {
|
|
||||||
if (specifiedProvider == null || specifiedProvider.equals(provider.getClass().getName())) {
|
|
||||||
return provider;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (specifiedProvider != null) {
|
|
||||||
throw new IllegalStateException(
|
|
||||||
String.format("Service provider %s not found", specifiedProvider));
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.spi.metrics;
|
|
||||||
|
|
||||||
import io.opentelemetry.api.metrics.MeterProvider;
|
|
||||||
import javax.annotation.concurrent.ThreadSafe;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MeterProviderFactory is a service provider for {@link MeterProvider}. Fully qualified class name
|
|
||||||
* of the implementation should be registered in {@code
|
|
||||||
* META-INF/services/io.opentelemetry.metrics.spi.MeterProviderFactory}. <br>
|
|
||||||
* <br>
|
|
||||||
* A specific implementation can be selected by a system property {@code
|
|
||||||
* io.opentelemetry.metrics.spi.MeterProviderFactory} with value of fully qualified class name.
|
|
||||||
*/
|
|
||||||
@ThreadSafe
|
|
||||||
public interface MeterProviderFactory {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new meter registry instance.
|
|
||||||
*
|
|
||||||
* @return a meter factory instance.
|
|
||||||
*/
|
|
||||||
MeterProvider create();
|
|
||||||
}
|
|
||||||
|
|
@ -10,8 +10,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
|
|
||||||
import io.github.netmikey.logunit.api.LogCapturer;
|
import io.github.netmikey.logunit.api.LogCapturer;
|
||||||
import io.opentelemetry.api.GlobalOpenTelemetry;
|
import io.opentelemetry.api.GlobalOpenTelemetry;
|
||||||
|
import io.opentelemetry.api.OpenTelemetry;
|
||||||
import io.opentelemetry.context.propagation.ContextPropagators;
|
import io.opentelemetry.context.propagation.ContextPropagators;
|
||||||
import io.opentelemetry.sdk.OpenTelemetrySdk;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||||
import org.junitpioneer.jupiter.SetSystemProperty;
|
import org.junitpioneer.jupiter.SetSystemProperty;
|
||||||
|
|
@ -64,7 +64,7 @@ class ConfigErrorTest {
|
||||||
@SetSystemProperty(key = "otel.trace.sampler.arg", value = "bar")
|
@SetSystemProperty(key = "otel.trace.sampler.arg", value = "bar")
|
||||||
void globalOpenTelemetryWhenError() {
|
void globalOpenTelemetryWhenError() {
|
||||||
assertThat(GlobalOpenTelemetry.get())
|
assertThat(GlobalOpenTelemetry.get())
|
||||||
.isInstanceOf(OpenTelemetrySdk.class)
|
.isInstanceOf(OpenTelemetry.class)
|
||||||
.extracting("propagators")
|
.extracting("propagators")
|
||||||
// Failed to initialize so is no-op
|
// Failed to initialize so is no-op
|
||||||
.isEqualTo(ContextPropagators.noop());
|
.isEqualTo(ContextPropagators.noop());
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.sdk;
|
|
||||||
|
|
||||||
import io.opentelemetry.api.OpenTelemetry;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Factory SPI implementation to register a {@link OpenTelemetrySdk} as the default {@link
|
|
||||||
* OpenTelemetry}.
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("deprecation") // Remove after deleting OpenTelemetry SPI
|
|
||||||
public final class OpenTelemetrySdkFactory implements io.opentelemetry.spi.OpenTelemetryFactory {
|
|
||||||
@Override
|
|
||||||
public OpenTelemetry create() {
|
|
||||||
return OpenTelemetrySdk.builder().build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
io.opentelemetry.sdk.OpenTelemetrySdkFactory
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.sdk.metrics.spi;
|
|
||||||
|
|
||||||
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
|
|
||||||
import io.opentelemetry.spi.metrics.MeterProviderFactory;
|
|
||||||
|
|
||||||
/** SDK implementation of the {@link MeterProviderFactory} for SPI. */
|
|
||||||
public final class SdkMeterProviderFactory implements MeterProviderFactory {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SdkMeterProvider create() {
|
|
||||||
return SdkMeterProvider.builder().build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** The SPI implementation which provides the SDK implementation of metrics. */
|
|
||||||
@ParametersAreNonnullByDefault
|
|
||||||
package io.opentelemetry.sdk.metrics.spi;
|
|
||||||
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
io.opentelemetry.sdk.metrics.spi.SdkMeterProviderFactory
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.sdk.metrics.spi;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
|
|
||||||
import io.opentelemetry.api.metrics.GlobalMetricsProvider;
|
|
||||||
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
/** Unit tests for {@link SdkMeterProviderFactory}. */
|
|
||||||
class SdkMeterProviderFactoryTest {
|
|
||||||
@Test
|
|
||||||
void testDefault() {
|
|
||||||
assertThat(GlobalMetricsProvider.get()).isInstanceOf(SdkMeterProvider.class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.sdk.trace.spi;
|
|
||||||
|
|
||||||
import io.opentelemetry.api.trace.TracerProvider;
|
|
||||||
import io.opentelemetry.sdk.trace.SdkTracerProvider;
|
|
||||||
|
|
||||||
/** SDK implementation of tracing. */
|
|
||||||
@SuppressWarnings("deprecation") // Remove after deleting OpenTelemetry SPI
|
|
||||||
public final class SdkTracerProviderFactory
|
|
||||||
implements io.opentelemetry.spi.trace.TracerProviderFactory {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TracerProvider create() {
|
|
||||||
return SdkTracerProvider.builder().build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** The SPI implementation which provides the SDK implementation of tracing. */
|
|
||||||
@ParametersAreNonnullByDefault
|
|
||||||
package io.opentelemetry.sdk.trace.spi;
|
|
||||||
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
io.opentelemetry.sdk.trace.spi.SdkTracerProviderFactory
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.sdk.trace.spi;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
|
|
||||||
import io.opentelemetry.api.GlobalOpenTelemetry;
|
|
||||||
import io.opentelemetry.api.trace.Tracer;
|
|
||||||
import io.opentelemetry.sdk.trace.SdkTracerProvider;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
/** Unit tests for {@link SdkTracerProviderFactory}. */
|
|
||||||
class SdkTracerProviderFactoryTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testDefault() {
|
|
||||||
Tracer tracerSdk = SdkTracerProvider.builder().build().get("");
|
|
||||||
assertThat(GlobalOpenTelemetry.getTracerProvider().get("")).isInstanceOf(tracerSdk.getClass());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue