Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gerrit Code Review Analytics

2,166 views

Published on

Unleash the hidden value of your Gerrit Code Review data. See how to extract statistics from your Git repository and Reviews and update a real-time KPI dashboard with Apache Kafka Stream Events.

Published in: Technology
  • Be the first to comment

Gerrit Code Review Analytics

  1. 1. #GerritUserSummit Gerrit Analytics Uncover the hidden value of your Gerrit Code Review Luca Milanesio luca@gerritforge.com
  2. 2. @gitenterprise @gerritreview #GerritUserSummit • Founded in the UK • HQ in London, Offices in the UK and Italy • Committed to OpenSource About GerritForge
  3. 3. @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
  4. 4. @gitenterprise @gerritreview #GerritUserSummit NOT a lecture on Continuous Delivery NOT a lecture on Code Review NOT a lecture on BigData What NOT to expect?
  5. 5. @gitenterprise @gerritreview #GerritUserSummit SHOW a Continuous Delivery scenario
  6. 6. @gitenterprise @gerritreview #GerritUserSummit LEARN together from its problems
  7. 7. @gitenterprise @gerritreview #GerritUserSummit EXPERIMENT a new approach using BigData
  8. 8. @gitenterprise @gerritreview #GerritUserSummit DISCUSS results together and iterate
  9. 9. @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
  10. 10. @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
  11. 11. @gitenterprise @gerritreview #GerritUserSummit Git/Gerrit (Code Review) Components Jenkins (Continuous Integration & Delivery)
  12. 12. @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 :-(
  13. 13. @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
  14. 14. @gitenterprise @gerritreview #GerritUserSummit "It was working until 5 mins ago … then someone changed something"  Rings any bell? Problem #2 : Ripple effect
  15. 15. @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
  16. 16. @gitenterprise @gerritreview #GerritUserSummit Continuous Delivery – Analytics Pipeline Data Aggregation Jobs
  17. 17. @gitenterprise @gerritreview #GerritUserSummit Gerrit plugins to extract analytics data https://gerrit.googlesource.com/plugins/analytics/
  18. 18. @gitenterprise @gerritreview #GerritUserSummit Gerrit plugins to generate real-time events on Kafka https://gerrit.googlesource.com/plugins/kafka/
  19. 19. @gitenterprise @gerritreview #GerritUserSummit Continuous Delivery – Analytics Dimensions Projects Commits People Reviews System Metrics
  20. 20. @gitenterprise @gerritreview #GerritUserSummit Continuous Delivery – Tools Dimensions SCM / Code Review CI / CD
  21. 21. @gitenterprise @gerritreview #GerritUserSummit DEMO Continuous Delivery Analytics
  22. 22. @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
  23. 23. @gitenterprise @gerritreview #GerritUserSummit Wants to know more? www.gerritforge.com/contact

×