BUSFACTOR.TECH
Rings

psf/requests

first ring February 2011 · 187 rings · 6,489 commits · 803 hands · cut at 1f6589e, 2026-08-03

psf/requests as a tree-trunk cross-section
How to read this
Every mark is a git fact
1234567
  1. 1Pith The first commit. It drifts toward whichever subsystem took the work.
  2. 2Ring One period. Width is that period's churn, log-scaled against the busiest one.
  3. 3Wedge A top-level directory. Arc = its share of lifetime churn, largest at 12 o'clock.
  4. 4Sealed pocket A directory that stopped and is gone from HEAD.
  5. 5Knot A branch that lived 30 days or more and carried 3+ commits, then merged.
  6. 6Scar A period where reverts crossed 5% of its commits.
  7. 7Bark Thickness = distinct authors of the last 12 periods. Counted, never named.
Tap the wood for its period, its subsystem and the commits behind them.
187
rings, one per month
6,489
commits
803
hands
47
knots
2
scars
Marigold
ink

Share it

The wedges

Top-level pathShare of lifetime churnAt HEAD
requests69.9%sealed pocket
/9.7%present
tests5.9%present
docs5.8%present
ext4.8%present
src2.5%present
(other)1.3%present

Cut yours

npx busfactor ringsOffline, no signup, nothing uploaded. Private repositories included.

What every mark counts

MarkGit factHow it is counted
One ringOne period of the repo's lifecommit author dates, UTC
Ring widthLines added + removed that period, log-scaled against the busiest periodgit log --numstat
Tight bandA quiet periodsame
Wide flushA rewrite or a big pushsame
Dark ring edgeLatewood: darker where the period was busiersame
WedgeA top-level directory; arc = its share of lifetime churn, largest at 12 o'clock going clockwisenumstat path prefixes
Bright grainThat directory dominated that period's churnper-period churn share
KnotA merged branch that lived >= 30 days with >= 3 commits, sitting in the subsystem it touched mostmerge parents, walked
ScarA period where reverts were >= 5% of commits and >= 3 of themcommit subjects starting with revert or reverted
Sealed pocketA top-level directory that stopped and is gone from HEADgit ls-tree HEAD
Off-centre pithThe trunk leans toward wherever the work moveddominant wedge per period, accumulated
Lighter outer woodSapwood: the last 12 periodsring index
Bark thicknessDistinct author emails in the sapwood windowhashed locally, counted, never named
InkThe language family whose files were touched most oftennumstat rows by file extension