About Java Simon API

Java Simon is a simple monitoring API that allows you to follow and better understand your application. Monitors (familiarly called Simons) are placed directly into your code and you can choose whether you want to count something or measure time/duration. Main features include:

  • Flexible Manager facility with Simons organized in the tree hierarchy allowing recursive enable/disable.
  • Various supportive utils/tools, JDBC proxy driver, Spring AOP/MVC integration, Java EE 6 support, JMX support, embeddable web console.
  • JDK 1.6 and higher compatible
  • Declarative configuration, callback support, fine-grained time measuring, ...

Why Java Simon?

There are few good reasons why to use Java Simon:

  • It's easy to use.
  • We do the best to keep it documented (especially the code).
  • It's no specification, it's hands-on library from coders to coders.
  • It has minimal performance impact on your application.
  • It is modern - uses nanosecond timer.
  • It has useful additional tools - like JDBC Proxy Driver to measure JDBC performance or pin down some problematic SQLs, Servlet filter, Spring AOP interceptor, and more.
  • The project is active (as of April 2012).

History of project

Project started on August 4th, 2008. The reason was that we were not satisfied with JaMON in terms of simplicity and monitor structure and so we created our own sort-of clone with some enhancements (nanoseconds, monitors in tree structure). Our first release was finished on December 15th, 2008 and Java Simon contained first version of the core and JDBC Proxy driver in that time.

Second version was released on June 19th, 2009 and brought JMX integration, Spring integration and also a little overhaul of the core API based on the feedback generated by the first version. For more up to date version of our history see this page.