Class ReconfigurableOpenTelemetry
java.lang.Object
io.jenkins.plugins.opentelemetry.api.ReconfigurableOpenTelemetry
- All Implemented Interfaces:
ExtensionPoint,ExtendedOpenTelemetry,io.opentelemetry.api.OpenTelemetry,Closeable,AutoCloseable
@Extension(ordinal=2.147483647E9)
public class ReconfigurableOpenTelemetry
extends Object
implements ExtendedOpenTelemetry, io.opentelemetry.api.OpenTelemetry, Closeable, ExtensionPoint
Reconfigurable EventLoggerProvider that allows to reconfigure the Tracers,
Loggers, and EventLoggers.
We need reconfigurability because Jenkins supports changing the configuration of the OpenTelemetry params at runtime.
All instantiated tracers, loggers, and eventLoggers are reconfigured when the configuration changes, when
configure(Map, Resource) is invoked.
-
Nested Class Summary
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidconfigure(Map<String, String> openTelemetryProperties, io.opentelemetry.sdk.resources.Resource openTelemetryResource) Deprecated.voidconfigure(Map<String, String> openTelemetryProperties, io.opentelemetry.sdk.resources.Resource openTelemetryResource, boolean disableShutdownHook) io.opentelemetry.api.incubator.events.EventLoggerBuildereventLoggerBuilder(String instrumentationScopeName) io.opentelemetry.sdk.autoconfigure.spi.ConfigPropertiesio.opentelemetry.api.incubator.events.EventLoggerProviderio.opentelemetry.api.OpenTelemetryDeprecated.io.opentelemetry.api.logs.LoggerProviderio.opentelemetry.api.metrics.Meterio.opentelemetry.api.metrics.MeterProviderio.opentelemetry.context.propagation.ContextPropagatorsio.opentelemetry.sdk.resources.Resourceio.opentelemetry.api.trace.Tracerio.opentelemetry.api.trace.Tracerio.opentelemetry.api.trace.TracerProvidervoidinit()io.opentelemetry.api.metrics.MeterBuildermeterBuilder(String instrumentationScopeName) protected voidprotected voidsetOpenTelemetryImpl(io.opentelemetry.api.OpenTelemetry openTelemetryImpl) io.opentelemetry.api.trace.TracerBuildertracerBuilder(String instrumentationScopeName)
-
Field Details
-
logger
-
-
Constructor Details
-
ReconfigurableOpenTelemetry
public ReconfigurableOpenTelemetry()Initialize as NoOp
-
-
Method Details
-
init
-
configure
@Deprecated public void configure(@NonNull Map<String, String> openTelemetryProperties, io.opentelemetry.sdk.resources.Resource openTelemetryResource) Deprecated.Configure the OpenTelemetry SDK with the given properties and resource disabling the OTel SDK shutdown hook- Specified by:
configurein interfaceExtendedOpenTelemetry
-
configure
public void configure(@NonNull Map<String, String> openTelemetryProperties, io.opentelemetry.sdk.resources.Resource openTelemetryResource, boolean disableShutdownHook) - Specified by:
configurein interfaceExtendedOpenTelemetry
-
setOpenTelemetryImpl
protected void setOpenTelemetryImpl(io.opentelemetry.api.OpenTelemetry openTelemetryImpl) -
close
@PreDestroy public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
getTracerProvider
public io.opentelemetry.api.trace.TracerProvider getTracerProvider()- Specified by:
getTracerProviderin interfaceio.opentelemetry.api.OpenTelemetry
-
getTracer
- Specified by:
getTracerin interfaceio.opentelemetry.api.OpenTelemetry
-
getTracer
public io.opentelemetry.api.trace.Tracer getTracer(String instrumentationScopeName, String instrumentationScopeVersion) - Specified by:
getTracerin interfaceio.opentelemetry.api.OpenTelemetry
-
tracerBuilder
- Specified by:
tracerBuilderin interfaceio.opentelemetry.api.OpenTelemetry
-
getMeterProvider
public io.opentelemetry.api.metrics.MeterProvider getMeterProvider()- Specified by:
getMeterProviderin interfaceio.opentelemetry.api.OpenTelemetry
-
getEventLoggerProvider
public io.opentelemetry.api.incubator.events.EventLoggerProvider getEventLoggerProvider()- Specified by:
getEventLoggerProviderin interfaceExtendedOpenTelemetry
-
eventLoggerBuilder
public io.opentelemetry.api.incubator.events.EventLoggerBuilder eventLoggerBuilder(String instrumentationScopeName) - Specified by:
eventLoggerBuilderin interfaceExtendedOpenTelemetry
-
getMeter
- Specified by:
getMeterin interfaceio.opentelemetry.api.OpenTelemetry
-
meterBuilder
- Specified by:
meterBuilderin interfaceio.opentelemetry.api.OpenTelemetry
-
getImplementation
Deprecated.- Specified by:
getImplementationin interfaceExtendedOpenTelemetry
-
getResource
@NonNull public io.opentelemetry.sdk.resources.Resource getResource()- Specified by:
getResourcein interfaceExtendedOpenTelemetry
-
getConfig
@NonNull public io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties getConfig()- Specified by:
getConfigin interfaceExtendedOpenTelemetry
-
getLogsBridge
public io.opentelemetry.api.logs.LoggerProvider getLogsBridge()- Specified by:
getLogsBridgein interfaceio.opentelemetry.api.OpenTelemetry
-
getPropagators
public io.opentelemetry.context.propagation.ContextPropagators getPropagators()- Specified by:
getPropagatorsin interfaceio.opentelemetry.api.OpenTelemetry
-
postOpenTelemetrySdkConfiguration
@OverridingMethodsMustInvokeSuper protected void postOpenTelemetrySdkConfiguration()
-