SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
metrics
                                   performance monitoring
                                        or business value optimization?




Terça-feira, 29 de Janeiro de 13
Me

Terça-feira, 29 de Janeiro de 13
•          CTO at Cult of Bits
              •          10+ years of professional Java development




Me
Terça-feira, 29 de Janeiro de 13
Why?

Terça-feira, 29 de Janeiro de 13
Ultimately it’s about
                                     Business Value


Why?
Terça-feira, 29 de Janeiro de 13
To make informed Business
                    decisions we need to know
                     the reality of our software

Why?
Terça-feira, 29 de Janeiro de 13
How many errors are our
                                users seeing?


Why?
Terça-feira, 29 de Janeiro de 13
Is our App fast enough?


Why?
Terça-feira, 29 de Janeiro de 13
Were our assumptions about
               performance/usage patterns
                     proven correct?

Why?
Terça-feira, 29 de Janeiro de 13
The Metrics
                                     library
Terça-feira, 29 de Janeiro de 13
Metrics is a Java library which gives you unparalleled
                insight into what your code does in production.

                Developed by Yammer to instrument their JVM-based backend services,
                Metrics provides a powerful toolkit of ways to measure the behavior of
                         critical components in your production environment.


                                   source: http://metrics.codahale.com/


The metrics library
Terça-feira, 29 de Janeiro de 13
Types of Metrics

Terça-feira, 29 de Janeiro de 13
•          Gauges
              •          Counters
              •          Histograms
              •          Meters
              •          Timers
Types of Metrics
Terça-feira, 29 de Janeiro de 13
Structure of
                                     metrics
Terça-feira, 29 de Janeiro de 13
Group   Top level grouping (“package name”)



                              Type    Second level grouping (“class name”)



                              Name    the metric name (e.g.,“error-count”)



                              Scope   optional




Structure of metrics
Terça-feira, 29 de Janeiro de 13
Outputs

Terça-feira, 29 de Janeiro de 13
•          JMX
              •          Console
              •          CSV files
              •          JSON servlet
              •          Graphite
              •          Ganglia

Outputs
Terça-feira, 29 de Janeiro de 13
DEMO TIME
Terça-feira, 29 de Janeiro de 13
What to measure?

Terça-feira, 29 de Janeiro de 13
“If it could affect business value, measure it”
                                        Coda Hale - metrics’ author


                                   At yammer they can have up to 40/50 metrics per service




What to Measure?
Terça-feira, 29 de Janeiro de 13
REST requests


                                      Timer




What to Measure?
Terça-feira, 29 de Janeiro de 13
MySQL/couchdb/Solr queries


                                             Timer




What to Measure?
Terça-feira, 29 de Janeiro de 13
Calls to external services/processes


                                                 Timer




What to Measure?
Terça-feira, 29 de Janeiro de 13
Dimensions of requests/responses

                                              Histogram
              Examples:

              •Search “page” size
              •Depth of search requests
              •Number of search terms used

What to Measure?
Terça-feira, 29 de Janeiro de 13
ERRORS!
                                   Counter / Meter



What to Measure?
Terça-feira, 29 de Janeiro de 13
The CoB
                                   experience
Terça-feira, 29 de Janeiro de 13
Our use-case

Terça-feira, 29 de Janeiro de 13
•          Lots of applications in different
                         sites
              •          1-3 servers
              •          No full-time network access


Our use-case
Terça-feira, 29 de Janeiro de 13
lessons learned

Terça-feira, 29 de Janeiro de 13
Naming metrics can be hard


lessons learned
Terça-feira, 29 de Janeiro de 13
Creating metrics is just the
                               start


lessons learned
Terça-feira, 29 de Janeiro de 13
Having hard data to help
                             decision is pricelless


lessons learned
Terça-feira, 29 de Janeiro de 13
References

Terça-feira, 29 de Janeiro de 13
The Metrics Homepage
              http://metrics.codahale.com/

              Metrics, Metrics, Everywhere - Coda Hale
              http://www.youtube.com/watch?v=czes-oa0yik

              Graphite
              http://graphite.wikidot.com/

References
Terça-feira, 29 de Janeiro de 13
Thank you!
                              @jnelas
                              joao.nelas@gmail.com



Terça-feira, 29 de Janeiro de 13

Weitere ähnliche Inhalte

Andere mochten auch

Introducing Infinispan
Introducing InfinispanIntroducing Infinispan
Introducing InfinispanPT.JUG
 
Using JPA applications in the era of NoSQL: Introducing Hibernate OGM
Using JPA applications in the era of NoSQL: Introducing Hibernate OGMUsing JPA applications in the era of NoSQL: Introducing Hibernate OGM
Using JPA applications in the era of NoSQL: Introducing Hibernate OGMPT.JUG
 
Microservices
MicroservicesMicroservices
MicroservicesPT.JUG
 
50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutes50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutesAntonio Goncalves
 
Java EE 7 Batch processing in the Real World
Java EE 7 Batch processing in the Real WorldJava EE 7 Batch processing in the Real World
Java EE 7 Batch processing in the Real WorldRoberto Cortez
 

Andere mochten auch (6)

Introducing Infinispan
Introducing InfinispanIntroducing Infinispan
Introducing Infinispan
 
Using JPA applications in the era of NoSQL: Introducing Hibernate OGM
Using JPA applications in the era of NoSQL: Introducing Hibernate OGMUsing JPA applications in the era of NoSQL: Introducing Hibernate OGM
Using JPA applications in the era of NoSQL: Introducing Hibernate OGM
 
Microservices
MicroservicesMicroservices
Microservices
 
CDI: How do I ?
CDI: How do I ?CDI: How do I ?
CDI: How do I ?
 
50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutes50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutes
 
Java EE 7 Batch processing in the Real World
Java EE 7 Batch processing in the Real WorldJava EE 7 Batch processing in the Real World
Java EE 7 Batch processing in the Real World
 

Ähnlich wie Metrics library for performance monitoring and business value optimization

Erlang Application Metrics with Folsom
Erlang Application Metrics with FolsomErlang Application Metrics with Folsom
Erlang Application Metrics with Folsomlogicalstack
 
Selecting a Web Framework
Selecting a Web FrameworkSelecting a Web Framework
Selecting a Web Frameworkpamselle
 
Design is a Process, not an Artefact - Trisha Gee (MongoDB)
Design is a Process, not an Artefact - Trisha Gee (MongoDB)Design is a Process, not an Artefact - Trisha Gee (MongoDB)
Design is a Process, not an Artefact - Trisha Gee (MongoDB)jaxLondonConference
 
Technical Challenges of Real-World Agent-Based Modelling
Technical Challenges of Real-World Agent-Based ModellingTechnical Challenges of Real-World Agent-Based Modelling
Technical Challenges of Real-World Agent-Based ModellingSandtable Ltd
 
Agile Development no Yahoo! com Scrum - Campus Party 2009 - em português
Agile Development no Yahoo! com Scrum - Campus Party 2009 - em portuguêsAgile Development no Yahoo! com Scrum - Campus Party 2009 - em português
Agile Development no Yahoo! com Scrum - Campus Party 2009 - em portuguêsAntonio Silveira
 
UX Jackson 2013 - One-Day Lean Startup Workshop
UX Jackson 2013 - One-Day Lean Startup WorkshopUX Jackson 2013 - One-Day Lean Startup Workshop
UX Jackson 2013 - One-Day Lean Startup WorkshopJanice Fraser
 
Barcamp conway 2013
Barcamp conway 2013Barcamp conway 2013
Barcamp conway 2013Luke Coleman
 
Choose Your Own Adventure 3: The Final Countdown/Return of the Rainbows
Choose Your Own Adventure 3: The Final Countdown/Return of the RainbowsChoose Your Own Adventure 3: The Final Countdown/Return of the Rainbows
Choose Your Own Adventure 3: The Final Countdown/Return of the RainbowsAdam Jacob
 
Performance Testing [not] somebody I used to know
Performance Testing [not] somebody I used to knowPerformance Testing [not] somebody I used to know
Performance Testing [not] somebody I used to know90kts
 

Ähnlich wie Metrics library for performance monitoring and business value optimization (10)

Erlang Application Metrics with Folsom
Erlang Application Metrics with FolsomErlang Application Metrics with Folsom
Erlang Application Metrics with Folsom
 
Selecting a Web Framework
Selecting a Web FrameworkSelecting a Web Framework
Selecting a Web Framework
 
Design is a Process, not an Artefact - Trisha Gee (MongoDB)
Design is a Process, not an Artefact - Trisha Gee (MongoDB)Design is a Process, not an Artefact - Trisha Gee (MongoDB)
Design is a Process, not an Artefact - Trisha Gee (MongoDB)
 
Technical Challenges of Real-World Agent-Based Modelling
Technical Challenges of Real-World Agent-Based ModellingTechnical Challenges of Real-World Agent-Based Modelling
Technical Challenges of Real-World Agent-Based Modelling
 
Agile Development no Yahoo! com Scrum - Campus Party 2009 - em português
Agile Development no Yahoo! com Scrum - Campus Party 2009 - em portuguêsAgile Development no Yahoo! com Scrum - Campus Party 2009 - em português
Agile Development no Yahoo! com Scrum - Campus Party 2009 - em português
 
UX Jackson 2013 - One-Day Lean Startup Workshop
UX Jackson 2013 - One-Day Lean Startup WorkshopUX Jackson 2013 - One-Day Lean Startup Workshop
UX Jackson 2013 - One-Day Lean Startup Workshop
 
Barcamp conway 2013
Barcamp conway 2013Barcamp conway 2013
Barcamp conway 2013
 
Choose Your Own Adventure 3: The Final Countdown/Return of the Rainbows
Choose Your Own Adventure 3: The Final Countdown/Return of the RainbowsChoose Your Own Adventure 3: The Final Countdown/Return of the Rainbows
Choose Your Own Adventure 3: The Final Countdown/Return of the Rainbows
 
Jbpm Console NG - JudCon Brazil 2013
Jbpm Console NG - JudCon Brazil 2013Jbpm Console NG - JudCon Brazil 2013
Jbpm Console NG - JudCon Brazil 2013
 
Performance Testing [not] somebody I used to know
Performance Testing [not] somebody I used to knowPerformance Testing [not] somebody I used to know
Performance Testing [not] somebody I used to know
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Metrics library for performance monitoring and business value optimization

  • 1. metrics performance monitoring or business value optimization? Terça-feira, 29 de Janeiro de 13
  • 2. Me Terça-feira, 29 de Janeiro de 13
  • 3. CTO at Cult of Bits • 10+ years of professional Java development Me Terça-feira, 29 de Janeiro de 13
  • 4. Why? Terça-feira, 29 de Janeiro de 13
  • 5. Ultimately it’s about Business Value Why? Terça-feira, 29 de Janeiro de 13
  • 6. To make informed Business decisions we need to know the reality of our software Why? Terça-feira, 29 de Janeiro de 13
  • 7. How many errors are our users seeing? Why? Terça-feira, 29 de Janeiro de 13
  • 8. Is our App fast enough? Why? Terça-feira, 29 de Janeiro de 13
  • 9. Were our assumptions about performance/usage patterns proven correct? Why? Terça-feira, 29 de Janeiro de 13
  • 10. The Metrics library Terça-feira, 29 de Janeiro de 13
  • 11. Metrics is a Java library which gives you unparalleled insight into what your code does in production. Developed by Yammer to instrument their JVM-based backend services, Metrics provides a powerful toolkit of ways to measure the behavior of critical components in your production environment. source: http://metrics.codahale.com/ The metrics library Terça-feira, 29 de Janeiro de 13
  • 12. Types of Metrics Terça-feira, 29 de Janeiro de 13
  • 13. Gauges • Counters • Histograms • Meters • Timers Types of Metrics Terça-feira, 29 de Janeiro de 13
  • 14. Structure of metrics Terça-feira, 29 de Janeiro de 13
  • 15. Group Top level grouping (“package name”) Type Second level grouping (“class name”) Name the metric name (e.g.,“error-count”) Scope optional Structure of metrics Terça-feira, 29 de Janeiro de 13
  • 17. JMX • Console • CSV files • JSON servlet • Graphite • Ganglia Outputs Terça-feira, 29 de Janeiro de 13
  • 18. DEMO TIME Terça-feira, 29 de Janeiro de 13
  • 19. What to measure? Terça-feira, 29 de Janeiro de 13
  • 20. “If it could affect business value, measure it” Coda Hale - metrics’ author At yammer they can have up to 40/50 metrics per service What to Measure? Terça-feira, 29 de Janeiro de 13
  • 21. REST requests Timer What to Measure? Terça-feira, 29 de Janeiro de 13
  • 22. MySQL/couchdb/Solr queries Timer What to Measure? Terça-feira, 29 de Janeiro de 13
  • 23. Calls to external services/processes Timer What to Measure? Terça-feira, 29 de Janeiro de 13
  • 24. Dimensions of requests/responses Histogram Examples: •Search “page” size •Depth of search requests •Number of search terms used What to Measure? Terça-feira, 29 de Janeiro de 13
  • 25. ERRORS! Counter / Meter What to Measure? Terça-feira, 29 de Janeiro de 13
  • 26. The CoB experience Terça-feira, 29 de Janeiro de 13
  • 27. Our use-case Terça-feira, 29 de Janeiro de 13
  • 28. Lots of applications in different sites • 1-3 servers • No full-time network access Our use-case Terça-feira, 29 de Janeiro de 13
  • 30. Naming metrics can be hard lessons learned Terça-feira, 29 de Janeiro de 13
  • 31. Creating metrics is just the start lessons learned Terça-feira, 29 de Janeiro de 13
  • 32. Having hard data to help decision is pricelless lessons learned Terça-feira, 29 de Janeiro de 13
  • 34. The Metrics Homepage http://metrics.codahale.com/ Metrics, Metrics, Everywhere - Coda Hale http://www.youtube.com/watch?v=czes-oa0yik Graphite http://graphite.wikidot.com/ References Terça-feira, 29 de Janeiro de 13
  • 35. Thank you! @jnelas joao.nelas@gmail.com Terça-feira, 29 de Janeiro de 13