SlideShare a Scribd company logo
1 of 22
Download to read offline
JavaMelody to measure Grails app
performance
Greach ‘18
Miguel Ángel García Gómez
A B O U T @ M I G U E L A N G E L G G 8 2
✴ Software Engineer
✴ Senior Dev at Salenda
✴ Groovy & Grails dev
and more…
@MiguelAngelGG82
T O O L S
✴ Many tools to measure performance
✴ JavaMelody
✴ App dynamics (appdynamics.com)
✴ New relic (newrelic.com)
✴ Dynatrace (dynatrace.com)
@alberto_deavila
@albertoBaron1
A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
INSTALLATION AND RUNNING
@MiguelAngelGG82
INSTALLATION AND RUNNING
@MiguelAngelGG82
A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
WHAT CAN BE MEASURED
@MiguelAngelGG82
✴ If you want to measure…
✴Memory used
✴Number of connected users
✴Number of current HTTP requests
✴Number of current SQL requests
✴… and so on
A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
STATISTICS (I/V)
@MiguelAngelGG82
STATISTICS (II/V)
@MiguelAngelGG82
STATISTICS (III/V)
@MiguelAngelGG82
STATISTICS (IV/V)
@MiguelAngelGG82
dataSource:
[…]
driverClassName: net.bull.javamelody.JdbcDriver
[…]
environments:
development:
dataSource:
dbCreate: create-drop
url: jdbc:mysql://localhost:3306/test?driver=com.mysql.jdbc.Driver
✴SQL Statistics
STATISTICS (V/V)
@MiguelAngelGG82
A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
SECURE
@MiguelAngelGG82
✴Basic security
✴Spring security
javamelody:
authorized-users: user1:pwd1, user2:pwd2
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[…],
[pattern: '/monitoring', access: ['ROLE_ADMIN']]
]
A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
CONCLUSIONS
@MiguelAngelGG82
✴Open Source and free
✴Lightweight and low overhead
✴Make decisions when trends are bad, before
problems become too serious
✴Is it old-fashioned?
@MiguelAngelGG82
✴"If you can not measure it, you can not improve
it.” - Lord Kelvin
Questions
https://bitbucket.org/miguelangel_garcia/grails-java-melody-example
Thank you!
@MiguelAngelGG82

More Related Content

Similar to Greach 18: JavaMelody to measure Grails app performance

Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...Alberto De Ávila Hernández
 
Business Agility in practice with Integral Objectives
Business Agility in practice with Integral Objectives Business Agility in practice with Integral Objectives
Business Agility in practice with Integral Objectives Angel Diaz-Maroto
 
Stop Testing (Only) The Functionality of Your Mobile Apps!
Stop Testing (Only) The Functionality of Your Mobile Apps!Stop Testing (Only) The Functionality of Your Mobile Apps!
Stop Testing (Only) The Functionality of Your Mobile Apps!Applitools
 
Grails Goto Plugins
Grails Goto PluginsGrails Goto Plugins
Grails Goto Pluginsericsword
 
Intro to google analytics
Intro to google analyticsIntro to google analytics
Intro to google analyticsVivastream
 
How Many Wheels You Have to Reinvent
How Many Wheels You Have to ReinventHow Many Wheels You Have to Reinvent
How Many Wheels You Have to ReinventMatt Harasymczuk
 
SQL Developer installation-guide
SQL Developer installation-guideSQL Developer installation-guide
SQL Developer installation-guideAngel G Diaz
 
Mastering Analytics and Integrations - Brightedge Share 2016 Speaking Engagement
Mastering Analytics and Integrations - Brightedge Share 2016 Speaking EngagementMastering Analytics and Integrations - Brightedge Share 2016 Speaking Engagement
Mastering Analytics and Integrations - Brightedge Share 2016 Speaking EngagementFreddie Blicher
 
Web challenge cmm
Web challenge cmmWeb challenge cmm
Web challenge cmmHerman Lee
 
Learn Software Testing for ISTQB Foundation Exam
Learn Software Testing for ISTQB Foundation ExamLearn Software Testing for ISTQB Foundation Exam
Learn Software Testing for ISTQB Foundation ExamYogindernath Gupta
 
The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...
The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...
The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...Kendra Skeene
 
Cultural learnings of testing for make benefit glorious nation of startup
Cultural learnings of testing for make benefit glorious nation of startupCultural learnings of testing for make benefit glorious nation of startup
Cultural learnings of testing for make benefit glorious nation of startupGil Tayar
 
Publish Android Application on Google Play Store
Publish Android Application on Google Play Store Publish Android Application on Google Play Store
Publish Android Application on Google Play Store Sandip Kalola
 
Becoming Data Driven
Becoming Data DrivenBecoming Data Driven
Becoming Data DrivenTimo Josten
 
QUES#19 Automation and Quality 2022.pdf
QUES#19 Automation and Quality 2022.pdfQUES#19 Automation and Quality 2022.pdf
QUES#19 Automation and Quality 2022.pdfsonalsingh547884
 
Google Tag Manager Can Do What
Google Tag Manager Can Do WhatGoogle Tag Manager Can Do What
Google Tag Manager Can Do Whatpatrickstox
 

Similar to Greach 18: JavaMelody to measure Grails app performance (20)

Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
 
Business Agility in practice with Integral Objectives
Business Agility in practice with Integral Objectives Business Agility in practice with Integral Objectives
Business Agility in practice with Integral Objectives
 
Stop Testing (Only) The Functionality of Your Mobile Apps!
Stop Testing (Only) The Functionality of Your Mobile Apps!Stop Testing (Only) The Functionality of Your Mobile Apps!
Stop Testing (Only) The Functionality of Your Mobile Apps!
 
Grails Goto Plugins
Grails Goto PluginsGrails Goto Plugins
Grails Goto Plugins
 
Intro to google analytics
Intro to google analyticsIntro to google analytics
Intro to google analytics
 
How Many Wheels You Have to Reinvent
How Many Wheels You Have to ReinventHow Many Wheels You Have to Reinvent
How Many Wheels You Have to Reinvent
 
SQL Developer installation-guide
SQL Developer installation-guideSQL Developer installation-guide
SQL Developer installation-guide
 
Mastering Analytics and Integrations - Brightedge Share 2016 Speaking Engagement
Mastering Analytics and Integrations - Brightedge Share 2016 Speaking EngagementMastering Analytics and Integrations - Brightedge Share 2016 Speaking Engagement
Mastering Analytics and Integrations - Brightedge Share 2016 Speaking Engagement
 
Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017
 
Web challenge cmm
Web challenge cmmWeb challenge cmm
Web challenge cmm
 
Learn Software Testing for ISTQB Foundation Exam
Learn Software Testing for ISTQB Foundation ExamLearn Software Testing for ISTQB Foundation Exam
Learn Software Testing for ISTQB Foundation Exam
 
The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...
The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...
The GeorgiaGov Platform Roadmap: Where We've Been, Where We Are, Where We're ...
 
Cultural learnings of testing for make benefit glorious nation of startup
Cultural learnings of testing for make benefit glorious nation of startupCultural learnings of testing for make benefit glorious nation of startup
Cultural learnings of testing for make benefit glorious nation of startup
 
Greach 19 - Micronaut Performance
Greach 19 - Micronaut PerformanceGreach 19 - Micronaut Performance
Greach 19 - Micronaut Performance
 
Publish Android Application on Google Play Store
Publish Android Application on Google Play Store Publish Android Application on Google Play Store
Publish Android Application on Google Play Store
 
Becoming Data Driven
Becoming Data DrivenBecoming Data Driven
Becoming Data Driven
 
Digital Analytics Summit 2022
Digital Analytics Summit 2022Digital Analytics Summit 2022
Digital Analytics Summit 2022
 
QUES#19 Automation and Quality 2022.pdf
QUES#19 Automation and Quality 2022.pdfQUES#19 Automation and Quality 2022.pdf
QUES#19 Automation and Quality 2022.pdf
 
Eating Our Own Dog Food
Eating Our Own Dog FoodEating Our Own Dog Food
Eating Our Own Dog Food
 
Google Tag Manager Can Do What
Google Tag Manager Can Do WhatGoogle Tag Manager Can Do What
Google Tag Manager Can Do What
 

Recently uploaded

20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 

Recently uploaded (20)

20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 

Greach 18: JavaMelody to measure Grails app performance

Editor's Notes

  1. Hello everyone! Welcome to this talk about JavaMelody!
  2. My name is Miguel Ángel García, I’m software engineer and I work in Salenda
  3. In the page of monitoring, the summary shows evolution charts for several values of measures. These measures are taken at a time T, for example every minute. Each chart follows the evolution of a value of measure on the period short or large chosen with the links above the summary:  the day,  the week,  the month,  the year or  a custom period. Charts are persisted: a restart of the application server has no influence on them except of a hole in the measures.
  4. The java memory used, between 0 and the maximum memory specified in the server configuration. The number of HTTP sessions (or number of connected users). The number of active threads (or number of current HTTP requests). The number of active JDBC connections (or number of current SQL requests). More such as: * If Tomcat or JBoss, the number of active threads in all the server. * The CPU percentage of the garbage collector for the JVM. * The number of threads for the JVM * The number of loaded classes for the JVM
  5. A request appears in the statistics when it is finished Percentage of cumulative time (mean time * nb of hits) compared to other requests Hits: number of executions Mean time in milliseconds Maximum time in milliseconds Standard deviation between execution times: if it is high, the execution times are varied, and if it is low the execution times are closed to one another Percentage of cumulative CPU time (mean CPU time * nb of hits) Mean CPU time in milliseconds Percentage of system errors Mean size in kilo-bytes of the response stream
  6. Exceptions thrown by the application via a servlet and by an HTTP error code By clicking on the name of an error, it is possible to see its java stack-trace when it is a java exception. These statistics of errors allow to improve the reliability of the application based on its real usage in production.
  7. The statistics of system error logs show the 'warning' and 'error' logs written by the application