Skip to main content

Observability

Every Dagger operation emits OpenTelemetry traces. You get visibility into what's happening without adding instrumentation.

Dagger Cloud Traces​

Dagger Cloud collects traces from all your Dagger runs — local and CI — and presents them in a web interface.

dagger login

After logging in, every dagger command sends traces to your Dagger Cloud dashboard. You get:

  • Timeline view: See all operations with duration and status. Drill into individual traces to understand execution.
  • Error highlighting: Failed steps are surfaced immediately with context — not just the error, but the steps that led up to it.
  • Flame graphs: Understand where time is spent. Each operation shows its proportion of total duration.
  • CI and local traces: Both environments in one view, grouped by git commit. Traces from CI include repository metadata (branch, commit author, status).
  • Search and navigation: Search trace logs by keyword. Breadcrumbs show the full context of any span back to the root.

From the CLI​

Open the trace for a run directly in your browser by adding -w/--web:

dagger -w check

Review recent Cloud activity for the current workspace without leaving the terminal:

dagger ws activity

If you belong to more than one Dagger Cloud organization, scope a command with --org:

dagger --org my-org ws activity

Traces are useful for debugging failures, optimizing slow workflows, and understanding what your team's Dagger usage looks like across projects.

OpenTelemetry​

Dagger's telemetry is built on OpenTelemetry. Each function call is a trace; each operation is a span. This means you can export traces to any OTel-compatible backend:

  • Jaeger
  • Honeycomb
  • Grafana Tempo
  • Any OTel collector

Set custom resource attributes via the standard OTEL_RESOURCE_ATTRIBUTES environment variable.