Phase: Distributed Tracing (OpenTelemetry + Tempo)

phase-pal-e-platform-17-distributed-tracing Phase

Phase 17: Distributed Tracing (OpenTelemetry + Tempo)

Goal: Request-level tracing across services with span correlation, latency breakdown, and error attribution.
Owner: Dev agent
Repo: forgejo_admin/pal-e-platform (Tempo) + app repos (OTel instrumentation)
Depends on: Phase 15 (DORA re-baseline establishes what needs deeper visibility)

Scope

  • Deploy Grafana Tempo (trace backend) via Helm — lightweight single-binary mode, S3 storage on MinIO
  • Add OpenTelemetry SDK to pal-e-docs (Python: opentelemetry-instrumentation-fastapi)
  • Grafana Tempo data source — trace search, span details, service map
  • Correlate traces with logs (Loki) and metrics (Prometheus) via trace ID propagation
Datadog equivalent: APM — distributed tracing, flame graphs, service maps, error tracking.
Why this matters for DORA: Traces decompose Lead Time into queue time, processing time, and deployment time. They decompose MTTR into detection, diagnosis, and remediation. Without traces, these are black boxes.
  • plan-pal-e-platform — parent plan
  • dora-framework — traces enable granular Lead Time and MTTR measurement