Fork me on GitHub

Bus Factor

Your bus factor is a simple metric; how many people need to get hit by a bus before nobody understands the code. You want a big number for all your source files, but it's easy to miss a few files or let someone create a code kingdom without realizing it.

This page spelunks your GIT logs and finds files with a low bus factor. We aren't just interested in the number of people who have changed a file. One person changing a configuration file once doesn't make it an interesting low bus factor. We want to look for files which have been edited by a small number of people a large number of times. Files that have been editing over a long period are even more interesting.

Just run the log command and try it out, or select from a few popular repositories.

Get started

Copy this command and paste it into a terminal in your GIT repository directory.

git log --abbrev-commit --decorate --all --name-status --date=iso --source > mylog.txt

Now select the mylog.txt file

...or you can select a popular repository from GitHub:

It looks like there was an error loading your log file.

Please select a different log file and try again.

We're crunching your log file. This can take 10-15 seconds for a large log...

Pick a different log file The number of committers The number of times this file has been changed

How it works

Each dot in the graph represents a file. Hover your mouse over the dot to see information about that file. The more changes to a file will cause the dot to move to the right. The file moves up with the more people who've changed it. The files with the worst bus factor get pushed to the lower right corner of the graph.

This graph was created with JavaScript, HTML, and CSS. It uses the jQuery, Moment.js, and Underscore.js. The graph does not use SVG or canvas. It's also all client-side. You're selecting a file, but it never gets uploaded and there's no server-side support. We're doing it all right here in your browser.

Created by Zack Grossbart and made available under the Apache 2.0 license.