SlideShare a Scribd company logo
1 of 22
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

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
 
Grails Goto Plugins
Grails Goto PluginsGrails Goto Plugins
Grails Goto Plugins
ericsword
 
Intro to google analytics
Intro to google analyticsIntro to google analytics
Intro to google analytics
Vivastream
 
SQL Developer installation-guide
SQL Developer installation-guideSQL Developer installation-guide
SQL Developer installation-guide
Angel G Diaz
 
Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017
Diogenes Buarque Ianakiara
 
Web challenge cmm
Web challenge cmmWeb challenge cmm
Web challenge cmm
Herman Lee
 

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
 
A Detailed Guide on New Google Global Site Tag.pdf
A Detailed Guide on New Google Global Site Tag.pdfA Detailed Guide on New Google Global Site Tag.pdf
A Detailed Guide on New Google Global Site Tag.pdf
 
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
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

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