Java应用程序监视器(火腿)项目是一个免费的,简单的,高性能的,线程安全的,Java的API,它使开发人员能够轻松监控生产应用程序。火腿可用于确定应用程序的性能瓶颈,用户/应用交互和应用可扩展性。
火腿收集汇总统计数据,如命中,执行时间(总数,平均值,最小值,最大值,标准差),并同时应用的要求。火腿统计数据显示在点击火腿报告。点击火腿报告看火腿的现场演示。
火腿被开发主要用于监视J2EE应用,但是它可以在任何JDK 1.2或更高的环境中使用。火腿可以在Servlet的,JSP的,EJB的和Java在各种J2EE应用服务器豆类(Sybase公司的EAServer中,和BEA的WebLogic,…)被使用,并且还可以用在其它的编程环境,可以调用Java代码(ColdFusion的,PowerBuilder中,宏道,...)。
欢迎继续阅读用户指南或下载火腿和阅读Java文档。
使用火腿容易。将JAMon.jar(90K)在类路径中,并围绕着您希望与火腿的API开始监控()和stop()方法的代码。请参见下面的代码示例:
进口com.jamonapi *。
...
监测周一= MonitorFactory.start(“myFirstMonitor”);
...代码存在定时...
mon.stop();
例如,要收集统计信息的Web应用程序所有JSP页面,开发者会发生在每个JSP的顶部调用start()方法,并在底部调用stop()方法。随着工作几分钟开发商将有统计数据的所有应用程序页面。统计将包含许多页面点击,页面平均执行时间,以及用户同时访问的每个页面的数量。统计数据可以通过调用getReport()方法,或者使用JAMonAdmin.jsp显示为一个HTML表。
火腿不需要特殊的管理帐户。许多监控工具需要管理帐户安装监控软件,并查看统计信息。由于这些工具的复杂性,开发人员通常要经过专门培训的管理员访问监测统计。许多这些监视工具也需要眼儿的防火墙。
火腿现在没有这些问题。可通过JAMonAdmin.jsp所有开发人员通过收集火腿统计。没有管理帐户,权限,或建立都需要收集和查看统计数据。因为火腿API是应用程序代码的一部分,开发人员可以进行切换的J2EE应用服务器和监测将继续工作。 JAMonAdmin.jsp通过HTTP访问,因此可以在没有任何冲压附加孔中的防火墙进行查看。
火腿可以用来监控生产系统。监控生产系统是重要的,因为它是我们可以看到,我们的代码是由真实用户执行的频率的唯一途径。此外,在生产环境的多次的配置是从测试环境不同,所以这两个环境之间的性能数据可以是相当不同的。由于这两个原因监控仅测试环境是不够的。
不同于许多监控工具,火腿,由于其最小的性能开销和多线程功能,可以在生产系统中使用。火腿可以在运行时被禁用(使用JAMonAdmin.jsp),进一步降低了性能开销。在2 GHz的奔腾IV,火腿的start()和stop()方法每秒执行50万次。禁用后,执行方法每秒3000万次。
为了测试火腿的业绩下载JAMon.jar并执行以下命令。的数字表示多少次启动()和停止()应调用各种测试(如果不提供一些100000将被用作默认值)。
java命令JAMon.jar com.jamonapi.TestClassPerformance 500000
输出中的最后一个标签(“全厂TimingMonitor()”)表示它需要时启用了监控运行多久,和标签以“NullMonitor2()”表示需要运行时监测禁用多久。
火腿是柔性的。许多监控工具专门监控应用程序的特定部分。这可以强制开发商诉诸使用多个监控工具来覆盖其所有的监控需求。例如,开发者可能需要使用不同的工具来监测每个如下:页面命中,EJB调用的,方法调用与数据库连接,...。
火腿的start()方法接受一个字符串作为参数。此字符串可以是JSP页面名称,EJB名称,方法名或任何其他代码或概念可以由串来表示。
同时,由于字符串传递给start()方法,开发人员可以决定什么来监视基于运行时的数据。使用这种技术,我们可以监测发展趋势以及性能瓶颈。火腿的的灵活性,一些例子:
保持对JSP主页统计
- 监控周一= MonitorFactory.start(“主页”);
保持统计数据访问一类的的openConnection()方法(这将打开一个数据库连接)
- 监控周一= MonitorFactory.start(“DataAccess.openConnection()”);
请为登录到我们的系统中每个用户的统计数据
- 监控周一= MonitorFactory.start(getUserName());
保持统计的所有页面按日期访问。例如,“pageAccesses.05 / 10/02”
- 监控周一= MonitorFactory.start(“pageAccesses。”+ getTodaysDate());
什么在此版本中是新的:
- < LI>这是一个次要发行版,增加了一些功能,2.7版本后用户请求。火腿仍然需要JDK 1.4或更高版本(有一些例外)。
- 如果2.7版本是为你工作,你不想要的新功能,那么这不是一个需要升级的。
评论没有发现