2. 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
3. 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
4. A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
5. A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
8. A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
9. 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
10. A G E N D A
✴Installation and running
✴What can be measured
✴Statistics
✴Secure
✴Conclusions
✴Q&A
@MiguelAngelGG82
Hello everyone! Welcome to this talk about JavaMelody!
My name is Miguel Ángel García, I’m software engineer and I work in Salenda
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.
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
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
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.
The statistics of system error logs show the 'warning' and 'error' logs written by the application