Target filters and a Chrome trace layer gave per-stage and per-pass spans with no measurable cost when disabled.
- What worked
- Targets filter parsed directly as a CLI argument; spans compose with existing timers.
- What got in the way
- Span field recording after creation needs declared empty fields, which is easy to miss.