LogViz is designed to visualize and analyze well logging data, to ...
Analyze and Visualize Git Log for Fun and Profit - DevTernity 2015
-
Upload
raimonds-simanovskis -
Category
Software
-
view
1.584 -
download
4
Transcript of Analyze and Visualize Git Log for Fun and Profit - DevTernity 2015
Analyze and Visualize Git Log
For Fun and Profit
Raimonds Simanovskis @rsim
Ignite RailsConf 2012
Code Metrics...
Lines ofcode
Cyclomaticcomplexity
Testcoverage Duplication
Git Commit Log
Mining Rails — Learning from your
App’s Lifeline Michael Feathers,
Corey Haines RailsConf 2011
Multi-Dimensional Analysis
TimeFilesAu
thor
s Measures Commits Additions Deletions
Dimensions
File Extension Commit
Time Zone Hour
Week Day
Ruby on Rails Git Log
Changes in Ruby files
Birth of RailsGreat Rails 3refactoring
RailsConfis coming
DHH contribution
Rails is mine
Let otherscontribute
tooCar racingtakes all
my time…
OMG! I shouldgive a technical
talk at RailsConf!
Don’t make thismistake anymore
Top contributors in 2015 by number of commits
Top contributors in 2015
9-to-5 disciplined developer
Hours of day
warms up withsmall commits
eats lunchat 12pm
finishes workand socializes
Aaron Patterson
Don’t judge someone by their
appearance
Hours of day
@tenderlove
Don’t burn yourself!
Hours of day
José Valim
Why don’t yousleep?
Ruby on Rails contribution in 2012
Working onElixir?
Get angryand startdeletingcode?
Finding the best working pattern
Hours of day
Elixir contribution in 2015José Valim
Contributions by time zone in 2015
US Westcoast
BrasilEurope
JapanIndia
Changes per day of week in 2015
Changes per hour on Fridays, in 2015
Beertime
BDD
Linux
> 0.5M commits> 20M lines of code
> 70M lines of changes> 14K contributors
Changes over time
Jan 11970
Apr 252037
Changes over time
Jan 11970
Apr 252037
Apr 162005
Initial git repository build. I'm not bothering with the full history,even though we have it. We can create a separate "historical" gitarchive of that later if we want to, and in the meantime it's about3.2GB when imported into git - space that would just make the earlygit days unnecessarily complicated, when we don't have a lot of goodinfrastructure for it.
Let it rip!
Top changed files
What is this largeC++, C, Assembler
project?
Changes over timeReally?
> 4M LOC?
Changes over timeReally?
> 4M LOC?
#### Dependencies
Node.js has several bundled dependencies in the *deps/* and the *tools/*directories that are not part of the project proper. Any changes to filesin those directories or its subdirectories should be sent to their respectiveprojects. Do not send your patch to us, we cannot accept it.
Without dependencies
Without dependencies
Top contributors
Ryan Dahl Creator of Node.js
Isaac Schlueter
Top contributors
John Resig Creator of jQuery
Top contributorsAlexei
Vladishev
Huge Toad
Bonus WTF
Why duplicates?
Oh, Unicode…
"Ja\u0304nis"
"J\u0101nis"
a + ̄
ā
"Ja\u0304nis"
"J\u0101nis"
.gitconfig
as UTF-8
WHY???
There are only 2 hard things in CS
Naming things
Cache invalidationOff by one errors
Time zonesUnicode special characters
https://eazybi.com/help/git
@rsim