Top Fields Constructors Methods
com.mysql.cj.otel

public Class OpenTelemetryHandler

extends Object
implements TelemetryHandler
Class Inheritance
All Implemented Interfaces
com.mysql.cj.telemetry.TelemetryHandler
Imports
java.util.ArrayList, .List, .WeakHashMap, java.util.function.BiConsumer, com.mysql.cj.Constants, .Messages, com.mysql.cj.exceptions.ExceptionFactory, com.mysql.cj.telemetry.TelemetryHandler, .TelemetrySpan, .TelemetrySpanName, io.opentelemetry.api.GlobalOpenTelemetry, .OpenTelemetry, io.opentelemetry.api.trace.Span, .SpanBuilder, .SpanKind, .Tracer, io.opentelemetry.context.Context

Field Summary

Modifier and TypeField and Description
private List<Span>
private OpenTelemetry
private static boolean
private WeakHashMap<TelemetrySpan, Span>
private Tracer

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addLinkTarget(TelemetrySpan
the TelemetrySpan to be registered as a link target for subsequent new spans
span
)

Overrides default com.mysql.cj.telemetry.TelemetryHandler.addLinkTarget.

Registers the specified TelemetrySpan as a link target for subsequent new spans.

public static boolean
public void
propagateContext(BiConsumer<String, String>
the consumer that will process the telemetry context propagation information
traceparentConsumer
)

Overrides default com.mysql.cj.telemetry.TelemetryHandler.propagateContext.

Injects telemetry context propagation information into the specified consumer.

public void
removeLinkTarget(TelemetrySpan
the TelemetrySpan to be removed from the list of registered link targets
span
)

Overrides default com.mysql.cj.telemetry.TelemetryHandler.removeLinkTarget.

Removes the specified span from the list of registered link targets.

public TelemetrySpan
startSpan(TelemetrySpanName
the span name that identifies this telemetry span
spanName
,
Object...
arguments used for interpolating the specified span name via String#format(String, Object...)
args
)

Implements com.mysql.cj.telemetry.TelemetryHandler.startSpan.

Start a telemetry span.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

linkTargetsback to summary
private List<Span> linkTargets
openTelemetryback to summary
private OpenTelemetry openTelemetry
otelApiAvaliableback to summary
private static boolean otelApiAvaliable
spansback to summary
private WeakHashMap<TelemetrySpan, Span> spans
tracerback to summary
private Tracer tracer

Constructor Detail

OpenTelemetryHandlerback to summary
public OpenTelemetryHandler()

Method Detail

addLinkTargetback to summary
public void addLinkTarget(TelemetrySpan span)

Overrides default com.mysql.cj.telemetry.TelemetryHandler.addLinkTarget.

Doc from com.mysql.cj.telemetry.TelemetryHandler.addLinkTarget.

Registers the specified TelemetrySpan as a link target for subsequent new spans. Spans created after will include links to all registered link target spans in the order they were added.

Parameters
span:TelemetrySpan

the TelemetrySpan to be registered as a link target for subsequent new spans

Annotations
@Override
isOpenTelemetryApiAvailableback to summary
public static boolean isOpenTelemetryApiAvailable()
propagateContextback to summary
public void propagateContext(BiConsumer<String, String> traceparentConsumer)

Overrides default com.mysql.cj.telemetry.TelemetryHandler.propagateContext.

Doc from com.mysql.cj.telemetry.TelemetryHandler.propagateContext.

Injects telemetry context propagation information into the specified consumer.

Parameters
traceparentConsumer:BiConsumer<String, String>

the consumer that will process the telemetry context propagation information

Annotations
@Override
removeLinkTargetback to summary
public void removeLinkTarget(TelemetrySpan span)

Overrides default com.mysql.cj.telemetry.TelemetryHandler.removeLinkTarget.

Doc from com.mysql.cj.telemetry.TelemetryHandler.removeLinkTarget.

Removes the specified span from the list of registered link targets.

Parameters
span:TelemetrySpan

the TelemetrySpan to be removed from the list of registered link targets

Annotations
@Override
startSpanback to summary
public TelemetrySpan startSpan(TelemetrySpanName spanName, Object... args)

Implements com.mysql.cj.telemetry.TelemetryHandler.startSpan.

Doc from com.mysql.cj.telemetry.TelemetryHandler.startSpan.

Start a telemetry span. Additionally, the returned TelemetrySpan object must be made current so that it gets recorded by the telemetry tracer. A TelemetrySpan object must be closed in a finally block after being made current, e.g.:

TelemetrySpan span = telemetryHandler.startSpan(TelemetrySpanName.PING);
try (TelemetryScope scope = span.makeCurrent()) {
    // your code goes here
} finally {
    span.end();
}
Parameters
spanName:TelemetrySpanName

the span name that identifies this telemetry span

args:Object[]

arguments used for interpolating the specified span name via String#format(String, Object...)

Returns:TelemetrySpan

the newly-created span object

Annotations
@Override