Package io.opentelemetry.sdk
Class OpenTelemetrySdk.ObfuscatedTracerProvider
- java.lang.Object
-
- io.opentelemetry.sdk.OpenTelemetrySdk.ObfuscatedTracerProvider
-
- All Implemented Interfaces:
TracerProvider
- Enclosing class:
- OpenTelemetrySdk
@ThreadSafe static class OpenTelemetrySdk.ObfuscatedTracerProvider extends java.lang.Object implements TracerProvider
This class allows the SDK to unobfuscate an obfuscated static global provider.Static global providers are obfuscated when they are returned from the API to prevent users from casting them to their SDK specific implementation. For example, we do not want users to use patterns like
(SdkTracerProvider) openTelemetry.getTracerProvider()
.
-
-
Field Summary
Fields Modifier and Type Field Description private SdkTracerProvider
delegate
-
Constructor Summary
Constructors Constructor Description ObfuscatedTracerProvider(SdkTracerProvider delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Tracer
get(java.lang.String instrumentationScopeName)
Gets or creates a named tracer instance.Tracer
get(java.lang.String instrumentationScopeName, java.lang.String instrumentationScopeVersion)
Gets or creates a named and versioned tracer instance.TracerBuilder
tracerBuilder(java.lang.String instrumentationScopeName)
Creates a TracerBuilder for a namedTracer
instance.SdkTracerProvider
unobfuscate()
-
-
-
Field Detail
-
delegate
private final SdkTracerProvider delegate
-
-
Constructor Detail
-
ObfuscatedTracerProvider
ObfuscatedTracerProvider(SdkTracerProvider delegate)
-
-
Method Detail
-
get
public Tracer get(java.lang.String instrumentationScopeName)
Description copied from interface:TracerProvider
Gets or creates a named tracer instance.- Specified by:
get
in interfaceTracerProvider
- Parameters:
instrumentationScopeName
- A name uniquely identifying the instrumentation scope, such as the instrumentation library, package, or fully qualified class name. Must not be null.- Returns:
- a tracer instance.
-
get
public Tracer get(java.lang.String instrumentationScopeName, java.lang.String instrumentationScopeVersion)
Description copied from interface:TracerProvider
Gets or creates a named and versioned tracer instance.- Specified by:
get
in interfaceTracerProvider
- Parameters:
instrumentationScopeName
- A name uniquely identifying the instrumentation scope, such as the instrumentation library, package, or fully qualified class name. Must not be null.instrumentationScopeVersion
- The version of the instrumentation scope (e.g., "1.0.0").- Returns:
- a tracer instance.
-
tracerBuilder
public TracerBuilder tracerBuilder(java.lang.String instrumentationScopeName)
Description copied from interface:TracerProvider
Creates a TracerBuilder for a namedTracer
instance.- Specified by:
tracerBuilder
in interfaceTracerProvider
- Parameters:
instrumentationScopeName
- A name uniquely identifying the instrumentation scope, such as the instrumentation library, package, or fully qualified class name. Must not be null.- Returns:
- a TracerBuilder instance.
-
unobfuscate
public SdkTracerProvider unobfuscate()
-
-