JavaMelody, monitoring assistant for performance of Java or Java EE application servers.
JavaMelody is an open source (LGPL) application that measures and calculates statistical information based on application usage. The resulting data can be viewed in a variety of formats including evolution charts, which track various operations and server attributes over time. There are also robust reporting options that allow data to be exported in either HTML of PDF formats.
Step 4: Edit the web.xml file from WEB-INF directory of the war file deployed in the tomcat and add the following lines in the web.xml before the description of the servlet.ie. mostly at the starting of the web.xml file.
Step 5: Restart the tomcat server after editing the web.xml and access the javamelody page using the following url pattern:
http://<hostname on which tomcat is configured>:<Port number on which the application is accessed>/<application name>/monitoring
The url can be customized in the configuration file. Reports can be viewed in weekly, daily, or monthly formats. They can also be downloaded or can be sent over email in pdf format. iText library for WebApps and Java’s Mail and Activation libraries are required on the server in order to use the mail session. The report provides the same information that can be found in monitoring web page with both high-level and detailed information.
Detailed SQL Information:
System threads, caches:
On the JavaMelody Wiki, https://github.com/javamelody/javamelody/wiki/Overhead one can find a healthy discussion about system overhead. It seems that the general consensus is that the overhead cost caused by JavaMelody is very low and that the feature is safe to enable full-time in QA environment.
->JavaMelody records only statistics and not events, so the overhead of memory is quite minimal.
->No I/O on the wire and minimal I/O on disk.
If no problem arises, it can be considered to enable JavaMelody on the production environment as well.
Using a tool like JavaMelody can lead to valuable insights on how to optimize servers or uncover otherwise hidden issues, providing value that exceeds the overhead cost.