Fix OpenTelemetrySdk(.tracerProvider).tracerBuilder() being noop. (#3466)
* Add test for obfuscated tracerBuilder. * Fix bug, add more tests.
This commit is contained in:
parent
d9e1151336
commit
dd7cae97d5
|
|
@ -206,5 +206,10 @@ public final class GlobalOpenTelemetry {
|
|||
public ContextPropagators getPropagators() {
|
||||
return delegate.getPropagators();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TracerBuilder tracerBuilder(String instrumentationName) {
|
||||
return delegate.tracerBuilder(instrumentationName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ package io.opentelemetry.sdk;
|
|||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.Tracer;
|
||||
import io.opentelemetry.api.trace.TracerBuilder;
|
||||
import io.opentelemetry.api.trace.TracerProvider;
|
||||
import io.opentelemetry.context.propagation.ContextPropagators;
|
||||
import io.opentelemetry.sdk.trace.SdkTracerProvider;
|
||||
|
|
@ -73,6 +74,11 @@ public final class OpenTelemetrySdk implements OpenTelemetry {
|
|||
return delegate.get(instrumentationName, instrumentationVersion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TracerBuilder tracerBuilder(String instrumentationName) {
|
||||
return delegate.tracerBuilder(instrumentationName);
|
||||
}
|
||||
|
||||
public SdkTracerProvider unobfuscate() {
|
||||
return delegate;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import static org.assertj.core.api.InstanceOfAssertFactories.type;
|
|||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import io.opentelemetry.api.GlobalOpenTelemetry;
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.common.Attributes;
|
||||
import io.opentelemetry.api.trace.TracerProvider;
|
||||
import io.opentelemetry.context.propagation.ContextPropagators;
|
||||
|
|
@ -72,9 +73,20 @@ class OpenTelemetrySdkTest {
|
|||
@Test
|
||||
void testShortcutVersions() {
|
||||
assertThat(GlobalOpenTelemetry.getTracer("testTracer1"))
|
||||
.isEqualTo(GlobalOpenTelemetry.getTracerProvider().get("testTracer1"));
|
||||
.isSameAs(GlobalOpenTelemetry.getTracerProvider().get("testTracer1"));
|
||||
assertThat(GlobalOpenTelemetry.getTracer("testTracer2", "testVersion"))
|
||||
.isEqualTo(GlobalOpenTelemetry.getTracerProvider().get("testTracer2", "testVersion"));
|
||||
.isSameAs(GlobalOpenTelemetry.getTracerProvider().get("testTracer2", "testVersion"));
|
||||
assertThat(
|
||||
GlobalOpenTelemetry.tracerBuilder("testTracer2")
|
||||
.setInstrumentationVersion("testVersion")
|
||||
.setSchemaUrl("https://example.invalid")
|
||||
.build())
|
||||
.isSameAs(
|
||||
GlobalOpenTelemetry.getTracerProvider()
|
||||
.tracerBuilder("testTracer2")
|
||||
.setInstrumentationVersion("testVersion")
|
||||
.setSchemaUrl("https://example.invalid")
|
||||
.build());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -133,6 +145,20 @@ class OpenTelemetrySdkTest {
|
|||
.hasFieldOrPropertyWithValue("idGenerator", idGenerator);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testTracerBuilder() {
|
||||
final OpenTelemetrySdk openTelemetry = OpenTelemetrySdk.builder().build();
|
||||
assertThat(openTelemetry.tracerBuilder("instr"))
|
||||
.isNotSameAs(OpenTelemetry.noop().tracerBuilder("instr"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testTracerBuilderViaProvider() {
|
||||
final OpenTelemetrySdk openTelemetry = OpenTelemetrySdk.builder().build();
|
||||
assertThat(openTelemetry.getTracerProvider().tracerBuilder("instr"))
|
||||
.isNotSameAs(OpenTelemetry.noop().tracerBuilder("instr"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testTracerProviderAccess() {
|
||||
OpenTelemetrySdk openTelemetry =
|
||||
|
|
|
|||
Loading…
Reference in New Issue