Skip to content

Guides

How to find the slow step in a workflow

The pipeline is slow but every individual step looks reasonable.

5 min read

The pipeline is slow but every individual step looks reasonable.

Why it happens

The bottleneck is often the critical path through job dependencies, not any single step. A fast job that waits on a slow one contributes its full wait to the total.

How to fix it

  1. Sort steps by duration, then map the job dependency graph
  2. Look for jobs whose needs list forces them to wait on something unrelated
  3. Check queue time separately — it is not shown in step durations
  4. Export the run as OpenTelemetry spans to see the critical path directly

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.