Lab 13: OpenTelemetry & Micrometer
Overview
Step 1: Observability Pillars
Three pillars of observability:
TRACES — distributed execution paths (WHO called WHAT and WHEN)
METRICS — aggregated numeric measurements (HOW MANY, HOW FAST, HOW BIG)
LOGS — discrete events with context (WHAT HAPPENED)
OpenTelemetry unifies all three:
Traces → OTel SDK → OTLP → Jaeger/Tempo
Metrics → OTel SDK → OTLP → Prometheus/Victoria
Logs → OTel SDK → OTLP → Loki/Elasticsearch
Java ecosystem:
Traces: OpenTelemetry Java SDK (opentelemetry-sdk)
Metrics: Micrometer (micrometer-core) → OTel bridge or Prometheus
Logs: SLF4J + Logback (with JSON appender) → MDC for trace correlationStep 2: OpenTelemetry SDK Setup
Step 3: Creating Spans and Hierarchies
Step 4: W3C TraceContext Propagation
Step 5: Micrometer Metrics
Step 6: Structured Logging with SLF4J + Logback
Step 7: JVM Metrics Concepts
Step 8: Capstone — OTel Spans + Micrometer
Summary
Concept
API/Class
Purpose
Last updated
