BUSFACTOR.TECH
Rings

reactivex/rxswift

first ring February 2015 · 134 rings · 3,741 commits · 447 hands · cut at 132aea4, 2026-03-02

reactivex/rxswift 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.
134
rings, one per month
3,741
commits
447
hands
14
knots
0
scars
Celestine
ink

Share it

The wedges

Top-level pathShare of lifetime churnAt HEAD
Tests30.5%present
RxSwift19.6%present
RxCocoa10.1%present
RxTests9.2%sealed pocket
RxExample8.0%present
docs8.0%present
Rx.xcodeproj2.7%present
Rx2.1%sealed pocket

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