#GerritUserSummit
Gerrit AnalyticsUncover the hidden value of your Gerrit Code Review
Luca [email protected]
@gitenterprise @gerritreview #GerritUserSummit
• Founded in the UK• HQ in London, Offices in the UK and Italy• Committed to OpenSource
About GerritForge
@gitenterprise @gerritreview #GerritUserSummit
• Co-founder and Director of GerritForge • over 20 years in Agile
Development and ALM• Contributor to many
OpenSource projects• Mind and hands of
@gitenterprise and @gerritreview Twitter feeds
About Luca Milanesio
@gitenterprise @gerritreview #GerritUserSummit
NOT a lecture on Continuous Delivery
NOT a lecture on Code ReviewNOT a lecture on BigData
What NOT to expect?
@gitenterprise @gerritreview #GerritUserSummit
SHOW a Continuous Delivery scenario
@gitenterprise @gerritreview #GerritUserSummit
LEARNtogether from its problems
@gitenterprise @gerritreview #GerritUserSummit
EXPERIMENTa new approach using BigData
@gitenterprise @gerritreview #GerritUserSummit
DISCUSSresults together and iterate
@gitenterprise @gerritreview #GerritUserSummit
Continuous Delivery Pipeline
Push Build
Unit Tests
Push Build
Unit Tests
Automated
Tests
Push Build
Unit Tests
Automated
Tests
Beta Users
Tests
User's feedback Publish to all Users
Failed
Failed
@gitenterprise @gerritreview #GerritUserSummit
Code Review & CD Validation
A1
refs/for/master
master
C2 C2*
A1 C2 (local)master
C2*
push
Verified: -1(build failed)
push
Verified: +1(build OK)
Reviewed: +2
CI Build: OK
C2*
CI Build: OK
amend
@gitenterprise @gerritreview #GerritUserSummit
Git/Gerrit (Code Review)
Components
Jenkins (Continuous Integration & Delivery)
@gitenterprise @gerritreview #GerritUserSummit
We use micro-services–100+ Components–200+ Repositories–300+ People and 100,000+ of review comments
–Cross-components [implicit] dependencies–Lots of build chains–10,000+ of builds
Now feel the pain :-(
@gitenterprise @gerritreview #GerritUserSummit
Problem #1 : Tons of logs slows us down
"Build was so fast a week ago … why is it getting so slow now?"
100Ks of logs are tough for Jenkins
@gitenterprise @gerritreview #GerritUserSummit
"It was working until 5 mins ago … then someone changed something"
Rings any bell?
Problem #2 : Ripple effect
@gitenterprise @gerritreview #GerritUserSummit
• Collect all review events• Collect all logs• Channel them to a central store• Crunch and Crunch continuously•Never delete• Process, inspect and learn
BigData to the rescue
@gitenterprise @gerritreview #GerritUserSummit
Continuous Delivery – Analytics Pipeline
Data Aggregatio
n Jobs
@gitenterprise @gerritreview #GerritUserSummit
Gerrit plugins to extract analytics datahttps://gerrit.googlesource.com/plugins/analytics/
@gitenterprise @gerritreview #GerritUserSummit
Gerrit plugins to generate real-time events on Kafkahttps://gerrit.googlesource.com/plugins/kafka/
@gitenterprise @gerritreview #GerritUserSummit
Continuous Delivery – Analytics Dimensions
Projects Commits
People Reviews
System Metrics
@gitenterprise @gerritreview #GerritUserSummit
Continuous Delivery – Tools Dimensions
SCM / Code Review
CI / CD
@gitenterprise @gerritreview #GerritUserSummit
DEMO
Continuous Delivery Analytics
@gitenterprise @gerritreview #GerritUserSummit
•Collect more data (System, JVM, Review scores)•Real-time statistics•Events correlation•Feedback loop to Code-Review•Production data harvest•Collect Issue-Tracker logs for End-2-End cycle time
Future directions
@gitenterprise @gerritreview #GerritUserSummit
Wants to know more?
www.gerritforge.com/contact
Top Related