Perf4J is to System.currentTimeMillis() as log4J is to System.out.println()
Some highlights of Perf4J's functionality include:
- A simple stop watch mechanism for succinct timing statements.
- A command line tool for parsing log files that generates aggregated statistics and performance graphs.
- Easy integration with the most common logging frameworks and facades: log4j, java.util.logging, Apache Commons Logging and SLF4J.
- Custom log4j appenders to generate statistics and graphs in a running application.
- The ability to expose performance statistics as JMX attributes, and to send notifications when statistics exceed specified thresholds.
- A servlet for exposing performance graphs in a web application.
- A Profiled annotation and a set of custom aspects that allow unobstrusive timing statements when coupled with an AOP framework such as AspectJ or Spring AOP.
(Taken from the original theserverside.com announcement)
For more details have a look at the developer documentation.
You can integrate Perf4J with maven. It is available from the codehaus repository (http://repository.codehaus.org/org/perf4j/perf4j/).
<dependency>
<groupId>org.perf4j</groupId>
<artifactId>perf4j</artifactId>
<version>0.9.7</version>
</dependency>
This seems to be a good thing to start over a new article on :)