Perf4J: Performance Analysis for Enterprise Java

Markus Eisele
Perf4J was announced yesterday. It is a new open-source performance logging, monitoring and analysis library for enterprise Java applications. For developers who are familiar with common Java logging frameworks like log4j, the team likes to describe Perf4J with an analogy:

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 announcement)

For more details have a look at the developer documentation.

You can integrate Perf4J with maven. It is available from the codehaus repository (


This seems to be a good thing to start over a new article on :)

Post a Comment


Post a Comment (0)