Open telemetry

https://opentelemetry.io/docs

OpenTelemetry is a collection of tools, APIs, and SDKs used for observability.


Abstract

Tracing concepts in a nutshell

Span

Represents an operation within a transaction, typically encapsulates:

  • operation name
  • a start and finish timestamp
  • attributes (a list of key-value pairs)
  • events
  • a parent span identifier
  • links to other spans
  • a SpanContext

Trace

Defined implicitly by its spans. A trace can be thought of as a directed acyclic graph (DAG) of spans where the edges between spans are defined as parent/child relationships.

SpanContext

Represents all the information that identifies Span in the Trace and MUST be propagated to child Spans and across process boundaries. A SpanContext contains the tracing identifiers and the options that are propagated from parent to child Spans.

Tracer

Is responsible for tracking the currently active span.

Tutorial: capture spring-boot metrics with OpenTelemetry Java instrumentation Agent

https://grafana.com/blog/2022/05/04/how-to-capture-spring-boot-metrics-with-the-opentelemetry-java-instrumentation-agent/