helidon-io / helidon

Java libraries for writing microservices
https://helidon.io
Apache License 2.0
3.44k stars 562 forks source link

Tracing propagation example #8903

Open romain-grecourt opened 1 week ago

romain-grecourt commented 1 week ago

Environment Details


Problem Description

There is no example for standalone tracing propagation using the Helidon context.

Context context = Contexts.context().orElseGet(Contexts::globalContext);
Tracer tracer = context.get(Tracer.class).orElseGet(Tracer::global);
Span.Builder<?> spanBuilder = tracer.spanBuilder("my-span");
context.get(SpanContext.class).ifPresent(spanBuilder::parent);
spanBuilder.tag("foo", "bar");
Span span = spanBuilder.start();
try {
    doStuff();
} catch (Throwable th) {
    span.end(th);
} finally {
    span.end();
}