Skip to main content

Reading Startup Waves

At boot, FlowLayer prints a computed execution plan before starting services.

Example shape:

services: 4
plan:
[0] db, cache
[1] api, worker
[2] frontend

How to read it

  • each bracket is one startup wave
  • services in one wave are independent and can start concurrently
  • next wave starts only after current wave startup conditions are satisfied

What this reveals quickly

  • unnecessary serialization from over-declared dependencies
  • hidden startup chokepoints
  • whether a late service is blocked by readiness or by topology

Debug pattern

  1. compare expected vs printed wave membership
  2. inspect dependsOn for accidental coupling
  3. verify readiness gates only where startup correctness requires them

If planning fails before any wave is printed, check Dependency Cycle.

Reference: Waves.