Tracing and telemetry are popular topics right now, but the development is so quick that it also confuses:
– Starting with OpenTracing, then W3C Trace-Context, and now OpenTelemetry there are plenty of standards, but what do or don’t they cover?
– How do the Cloud Native Computing Foundation (CNCF) and its projects like Jaeger play into that.
– Where is OpenTelemetry headed, and how can projects tie into it?
This talk gives an overview of standards, projects, and how they all tie together.
42. Agents
Live in / attach to app process
public static void main
premain
agentmain
https:/
/www.javaadvent.com/2019/12/a-beginners-guide-to-java-agents.html
@xeraa
45. Manual Instrumentation
Tracer tracer =
OpenTelemetry.getGlobalTracer("instrumentation-library-name", "1.0.0");
Span span = tracer.spanBuilder("my span").startSpan();
try (Scope scope = span.makeCurrent()) {
// your use case
...
} catch (Throwable t) {
span.setStatus(StatusCode.ERROR, "Change it to your error message");
} finally {
span.end(); // closing the scope does not end the span; has to be done manually
}
@xeraa