JavaMelody,一款功能强大的系统监控工具,专注于监测Java应用运行内存与CPU使用状况、客户Session总数、JDBC线程数,以及HTTP请求、SQL请求、JSP页面和业务流程接口(如EJB3、Spring、Guice)的执行总数、平均执行时间、错误百分比等关键信息。JavaMelody旨在为QA和工作环境中的Java或Java EE应用软件提供全面监管。它并非仿真模拟客户请求的工具,而是一个基于实际用户使用情况,评估和测算应用软件运行状况的数据分析利器。
JavaMelody是一款开源代码(遵循ASL许可证)的工具,经过25人年的生产制造,已准备好投入实际应用。它易于集成到大多数应用软件中,且轻量级设计(无需分析,无需数据库查询)。
JavaMelody主要通过汇总和演化图来分析请求。它能够显著提升QA和开发过程中的应用监控,并提供关于平均响应时间和执行次数的客观事实,以便在问题严重之前作出决策。
JavaMelody提供了一系列图表,用于展示以下指标随时间的变化趋势:
HTTP请求、SQL请求、JSF操作、Struts操作、JSP页面或业务流程接口(如果使用EJB3、Spring或Guice)的执行次数、平均执行时间和错误百分比。
Java运行内存、Java CPU、客户Session总数、JDBC线程数。 这些数据图表可以在当前一天、一周、一个月、一年或自定义的时间内进行查询。
JavaMelody还包含预定义的计数器统计分析(包括HTTP请求、SQL请求、JSF操作、Struts操作、JSP页面和业务流程接口,每个计数器都有详细的统计信息),如总执行次数、平均执行时间、CPU时间和错误百分比,以及超过可配置阈值的请求所消耗的时间百分比。另外它还提供了详细的请求目录,包括每个请求的执行次数、平均执行时间、平均CPU时间、错误百分比以及执行时间的演化图。每个HTTP请求还显示了流量响应的大小、平均SQL执行次数和平均SQL时间。
JavaMelody还涉及对HTTP错误、日志中的警告和错误、数据缓存(如ehcache)和批处理作业(如Quartz)的统计分析。如有需要还可以使用可选的独立收集服务器来卸载存储系统和报告转换后的应用数据,以便集中管理一个或多个应用的数据。