Skip to content

v0.3.0

Choose a tag to compare

@pabloos pabloos released this 10 Sep 20:17
· 6 commits to main since this release

Backward-compatible with v0.2.0.

New — built-in bottleneck detection

  • Observe(&Report) — an option (works with Run and RunPartitioned) that fills a Report after the run: counts, per-stage timings, throughput and a diagnosed bottleneck.
  • flow triangulates by where the workers spend their time — idle (producer slow), busy (the work), blocked (consumer slow) — so Report.Bottleneck is StageProducer / StageProcessor / StageConsumer, with matching advice. Report.String() renders a readable report.
  • Opt-in and cheap: instrumentation runs through a nil-able probe, so with Observe off the hot path makes no time.Now calls. Zero dependencies.

Notes

The observability API (Observe, Report) is experimental and may change while v0.x. Metrics exporters that carry dependencies (Prometheus, OpenTelemetry) will land later as separate submodules to keep the core zero-dependency.