用java程序这个日志统计_通过日志监控并收集Java应用程序数据(4)

通过 GraphingServlet 生成统计图

这种方式需要用到 AsyncCoalescingStatisticsappender,通过其记录的是每个 时间片各事务的执行时间统计信息,在此还要加上 GraphingStatisticSAPpender,将指定的监测指标数据单独抽出,再由 Perf4j 的 GraphingServlet 展现在页面上。一般可做为子页面加入到系统管理界面中。清单 9 中只是加入了一个用于生 成平均执行时间图示的 Appender 做为示例,当然 Perf4j 也允许加入多个 GraphingStatisticsAppender 以同时显示不同 指标的数据。

be44d7e8d88465247f5ffac54277e5f5.png

清单 9. 加入生成可视化数据的 Appender

class="org.perf4j.log4j. AsyncCoalescingStatisticsAppender">

class="org.perf4j.log4j.GraphingStatisticsAppender">

在 GraphType 中可以设定的性能指标有平均执行时间(Mean)、最长执行时间(Max)、最短 执行时间(Min)、执行时间标准差(StdDev)、执行次数(Count)和 每秒事务处理量(TPS)。TagNamesToGraph 是可选 项,用来指定需要输出的事务,如果不设定则会输出全部事务。

同时在 web.xml 中还要加入 GraphingServlet 的 映射。如清单 10。

清单 10. 在 web.xml 中配置 GraphingServlet

perf4jMonitor

org.perf4j.log4j.servlet.GraphingServlet

graphNames

meanExecutionTime,executionTPS

perf4jMonitor

/perf4jMonitor

至此在系统的运行过程中,访问 /perf4jMonitor 就可以实时的观测指定事务的性能 数据图示。

本文介绍了配置与使用 Perf4j 的诸多细节。在实际项目中,我们还应该设计一个易扩展的 体系结构,使第三方 API 能轻易加入。如果只是用 Perf4j 协助发现性能问题的源头,开发人员可采用临时代码中嵌入 StopWatch 类的方式。若是计划长期对系统性能跟踪,应设计一个完善的日志框架集成方案,能够轻易地将 Perf4j 无缝的 加入和脱离尤为重要。

尽管 Perf4j 中使用的是异步的输出源,在大量用户并发的性能测试和产品环境下,额外的 CPU 内存占用也是不容忽视的。因此务必确保 Perf4j 只用于对性能跟踪及瓶颈分析,而不要用于对系统负载能力的评估。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值