Projects / Perfmon4j


Perfmon4j is a suite of performance monitoring tools that are intended to be used to diagnose performance bottlenecks and monitor throughput and response time in production Java applications. Its main features include servlet response time monitoring, detailed thread trace sampling, Java instrumentation that enables Package, Class, and Method monitoring without code modification, snapshot monitoring of system metrics including Garbage Collection, Memory Pools, etc., an API for applying additional monitoring points via method annotations or in-line timers, and support for dynamically enabling monitors in running applications.

Operating Systems

Recent releases

  •  01 Oct 2011 01:45

    Release Notes: This minor maintenance release includes features to make XML configuration less error-prone.

    •  06 Oct 2010 22:42

      Release Notes: The ability to monitor SQL execution time was added. This feature provides composite monitoring that allows you to determine what percentage of time is spent in the SQL vs the Java application layer.

      •  10 Jun 2010 21:52

        Release Notes: This release adds a powerful new way to force thread trace monitoring on a specific thread (or a specific request). You can now force a thread trace based on one of the following: HTTP request parameter, HTTP session parameter, HTTP cookie, thread name, or thread property. There is more support for logging performance and monitoring information to an SQL database. In addition to MySQL and SQL Server, there are also create scripts for Oracle and PostgreSQL.

        •  16 Mar 2010 01:58

          Release Notes: A SQL-based appender for interval data was added. You can now configure timing data to be written to a SQL database. An "Output Interval data to a SQL Database" section was added to Perfmon4j-ConfigSamples.pdf with configuration examples. Problems where release Jars were not compiled for Java 1.5, the Log4j logger did not include Throwable, and reloading the appender failed to propagate attributes were fixed.

          •  08 Nov 2009 05:40

            Release Notes: The option to instrument getters and setters is now provided. A severe defect was fixed in which the global classloader incorrectly maintained reference to classes that have been unloaded by classloader. A minor defect was fixed in which a Null Pointer Exception was thrown when a named appender does not exist in the configuration of SnapShotMonitor. A minor defect was fixed in which loading a snapshot monitor containing a non-public annotated method failed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.