This is a quick visual reference for OpenTelemetry in Java, which can also be used as:

  • A non-linear learning resource
  • A starting point for your own reference - download sources and modify to your needs.

Hover over the diagram elements for tooltips, click to navigate to documentation pages.

Some definitions on this site were copied verbatim from the official documentation and Javadoc for the sake of consistency.

Overview

In a JMV an OpenTelemetry instance is used as an entry point to the telemetry functionality. It sends collected telemetry data to the Collector, which processes it and exports to observability frontends/backends.

Tracers are retrieved from the OpenTelemetry instance and are used to create spans, which represent units of work. Spans can be organized into a parent/child hierarchy and in a graph. Spans in a single trace can belong to multiple processes. Context propagators provide means to carry span and baggage (attributes) infomation between processes. Spans can contain events with exceptions being a special kind of event.

Logs Bridge bridges open telemetry with existing logging frameworks such as Logback, Slf4j, java.util.logging (JUL), and Log4j. Log records can be associated with spans.

Meters are also retrieved from the OpenTelemetry instance and are used to create metric instruments - counters, gauges, histograms, and up/down counters. Metric instruments are used to collect measurements.

Javadoc

Site generation

This sources for this site was created from the Drawio Site Template. The site is generated using html-app command invoked from a GitHub Action.

Resources