Perf4J 是一个性能记录,监测和分析库,主要用于企业Java应用程序。
可以和开发者熟悉的日志框架 log4j 或者 logback 做个类比:
Perf4J 用来代替 System.currentTimeMillis() 正如 log4j 用来代替 System.out.println()
Perf4J 的重点功能:
一个简单的秒表计时机制,对 timing 进行简洁的声明。
一个命令行工具用来分析日志文件,并生成汇总统计和性能图表
易于与常见的记录框架和 facades 集成:log4j, java.util.logging, Apache Commons Logging 和 SLF4J。
在运行时自定义 log4j appender 产生统计数据和图表
通过 JMX 属性来对外暴露性能统计数据,并在统计数据超出阈值时发出通知
一个 Servlet,在 Web 应用中暴露性能图表
结合诸如 AspectJ 或者 Spring AOP 之类的 AOP 框架,采用 Proflied 注解做到非侵入性的 timing
一个可扩展的框架
1 Overview Perf4j是一个用于计算和显示性能相关的统计信息(例如最大值、最小值、算数平均均值、标准方差和TPS等)的工具集。除了将统计信息输出到标准错误流或者日志中之外,Perf4j也支持输出为图表(使用Google Chart API),以及通过JMX公开。其主要的功能如下: 以StopWatch这种简洁的方式进行计时。 提供了一个命令行工具,用于分析日志以及生成统计信息或
许多开发人员都很熟悉墨菲法则的一个例子:他们发现在花费了大量时间确保应用程序在开发环境中快速和灵活之后,在发布到生产环境的时候性能会不可思议的大幅下降。更糟糕的是,应用程序平时运行正常,老板或者重要客户操作应用的时候却反应缓慢。详细的日志记录和分析对于追踪这些间歇性的性能瓶颈尤为重要。\u0026#xD;\u0026#xD; 然而,当今世界充满了面向服务的架构和分布式的应用,查找性能瓶颈对应的组件
1、添加依赖 <dependency> <groupId>org.perf4j</groupId> <artifactId>perf4j</artifactId> <version>0.9.16</version> </dependency> <dependency> <groupId>org.springframework</groupId
public class StopWatch { static public int AN_HOUR = 60 * 60 * 1000; static public int A_MINUTE = 60 * 1000; ;PRivate long startTime = -1; private long stopTime = -1; /** ;* 启动秒表 */ public void start(
项目使用SpringMvc,使用slf4j+logback记录日志 所以若要@Profiled起作用,关键是配置如下这行 <bean id="timingAspect" class="org.perf4j.slf4j.aop.TimingAspect" />注意:如果使用的slf4j,则使用 org.perf4j.slf4j.aop.TimingAspect 如果使用的log4j,则使用 org.
Perf4J是一个用于记录、监测和分析Java应用程序性能的开源工具。如同log4j类似于System.out.println()一样,Perf4J类似于System.currentTimeMillis()。 Perf4J提供的功能包括: 用于计时的简单的停止观测(stop watch)机制。 用于解析日志文件的命令行工具,可以生成聚合统计和性能图表 易于与常见的日志框架和facades集成:lo
Perf4j 可以对自定义监控范围的java代码进行日志记录,再经统计分析生成所需性能数据。Perf4j 提供了对常用日志工具log4j的扩展以方便与产品集成,它产生的性能数据可被用于生成可视化的性能图表。 Perf4j是一款专门用于java服务器端代码计时,记录日志和监控结果的开源工具包。Per4j对常用日志工具包进行了扩展,能够将得到的原始性能数据进行统计并发布到可定制的输出源,如控制台、日志
以下内容大部分摘抄自网络上信息。 1、默认写法 @Profiled 日志语句形如: 2009-09-07 14:37:23,734 [main] INFO org.perf4j.TimingLogger - start[开始时间] time[执行耗时] tag[方法名] 2、带logger标识 @Profiled(logger = "test.PriceService") 由此产生的日志
perf4j vs. javasimon 1. perf4j的资料和例子要比simon详细一些。 2. perf4j和spring的集成要比simon好一些,simon现在还不能实现代理有参数构造函数的bean,此时simon会出现(Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors
参考:http://www.blogjava.net/yangpingyu/category/48572.html
2009-09-17 15:56使用Perf4J来检查方法性能 首页 http://perf4j.codehaus.org/index.html 下载地址 http://repository.codehaus.org/org/perf4j/perf4j/ 得到jar包 perf4j-0.9.12.jar 放置到WEB-INF/lib下面 我的UserController.java 片段如下: St
Perf4j 是一个性能分析和监控组件,用于替代: long start = System.currentTimeMillis(); // do someting log.info("ms for block n was: " + (System.currentTimeMillis() - start)); 并提供统计和分析功能,输出优美的统计结果,并能结合Google Char、JMX、Serv
没有监测和性能参数而进行优化是毫无意义的。Hibernate 为其内部操作提供了一系列的示意图,因此可以从 每个 SessionFactory 抓取其统计数据。 20.6.1. 监测 SessionFactory 你可以有两种方式访问 SessionFactory 的数据记录,第一种就是自己直接调用 sessionFactory.getStatistics() 方法读取、显示统计数据。 此外,如果
"性能监控"整合了Threejs的监控组件stats,如果你对这个组件感兴趣,你可以从它的 github 仓库中了解更多细节。如果你想要在gio场景中显示这个组件,你可以使用 enableStats() API,这个性能监控面板默认会显示在左上角。
ObQuote... "One serious obstacle to the adoption of good programming languages is the notion that everything has to be sacrificed for speed. In computer languages as in life, speed kills." — Mike Vani
本文向大家介绍.NET Orm性能测试分析,包括了.NET Orm性能测试分析的使用技巧和注意事项,需要的朋友参考一下 简介 OrmBenchmark 这个项目主要是为了测试主要的Orm对于 SqlServer 数据库的查询并将数据转换成所需 POCO 对象的耗时情况(好吧,实际上不完全orm,更像是SqlMapper ...) 测试结果: .NetFramework 4.6 有预热 .NetFr
我正在读一本关于计算机体系结构的书,我在这一章讨论分支预测。有一个小练习,我很难把我的头缠绕在它周围。 考虑以下内部for循环 ------>内循环: b)1位分支预测缓冲器会改善性能吗(与a相比)?假设第一个预测是“未采取”,并且没有其他分支映射到该条目。 ----假设第一个预测是“不采取”,如果预测错误,则1位预测器反转该位。所以它将是NT/T/T。这是否使它具有与问题a)相同的性能?有1个未