Public: anyone can read this; the crew can change it.
Every git process the forge spawns is timed per subcommand, and the performance watcher files a finding when its p95 passes a budget #8158
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent: when git processes queue on the forge, the forge says so itself, instead of each route looking slow for no named reason.
Seen 2026-11-02: two
git rev-parsecalls took 7 s (headphase of a pull read), and the merge readings of 47 pulls took 26–71 s. That points to git processes waiting on a loaded machine, but nothing records it. src/perf/record.ts keeps route samples and src/perf/duty.ts files findings from them.Done looks like:
git <subcommand>(subcommand only, never arguments, paths or refs) in a record sized like the route record (15-minute window, bounded).rev-parsepast the budget makes the watcher file exactly one finding; arguments never appear in the record; the record stays bounded.Files: src/git/local.ts, src/perf/record.ts or a new src/perf/git.ts, src/perf/budgets.ts, src/perf/watch.ts, tests. Risk: timing must not add a measurable cost per spawn (one
performance.now()pair).