My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

Java Simon - Simple Monitoring 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.

Do you like Java Simon? For three years we've developed it without asking for anything. However if you want to help us or just cheer us up click the button bellow. Maybe we will buy a beer for it, maybe we will use it to pay the fee for the javasimon.org domain. We put a lot of effort in it already - and we plan to put some more still.

News

January 1st, 2012 - Happy New Year with version 3.1.0!

New version was release with a lots of improvements - check the list. Besides some polishing, these are the most important:

  • non-experimental Servlet Filter finally!
  • minor changes in Manager interface (check issues) - better naming mostly,
  • Split can be created (and started) without a Stopwatch, check the use case with Perf4JLikeExampe,
  • practical BenchmarkUtils added,
  • Callbacks were moved to own package org.javasimon.callback,
  • MVEL dependency was dropped, JDK shipped ECMAScript is used instead.
Check the Maven repository (see MavenSupport page) and Javadocs too.

December 31st, 2011 - new member, new "homepage", old logo

I decided to move our homepage to Google+ Page created for Java Simon: http://gplus.to/javasimon

The reason is, that it's not so easy to update Webnode page and we don't need any big page that partially collides with the project page anyway. Soon the domain javasimon.org will point on the Google+ page and our "homepage" will go down.

More importantly - we have a new commiter on board. Month ago I didn't know he existed, but after the last month I decided to strengthen our lines - welcome Gerald, I hope it will all work well. :-)

Lastly - we might need a new logo. Do you want to try it? There is no price in this competition. Any attempt will be shown though and the one we like the most will become our official logo. Rules for the logo are quite simple:

  • It has to come as the text "SIMON" (regardless of casing), all blue, O is red
  • O must be stylized as a stopwatch (see current logo)
  • O/stopwatch must be provided also separately to fit in square pictures
  • we need deliverables as big images without background (transparent), or - preferably - as vector graphics (SVG, ...)
  • logo cannot bear any signature of yours, I guess this is obvious... author can be named in our README file and in the news unless he wishes otherwise :-)

October 11th, 2011 - Version 3.0

I honestly can't believe it, but I won my long fight with Maven Release plugin! Result is our new major version with the following important changes:

  • Java Simon 3.0 is pure JDK 6 and requires Java 6 at least. After so many years, I hope it is understandable.
  • JMX 1.4 stays and is merged to core, JDBC 3 is gone, JDBC 4 is here to stay.
  • There are many fixes as well.
There are no revolutionary changes though (save dropping the old Java 5), so you are encouraged to upgrade. We thank all those who contributed with their feedback or issues. Soon I'll take care of downloadable packages and fresh Javadoc as well. You can't imagine what a relief this release really is. :-) Enjoy it. I will.

Why Java Simon?

Back in 2008 we wanted to use something like JAMon for our products originally, but we lacked two important features:

  • better way (or any way for that matter) to organize all those monitors;
  • nanosecond resolution.

Simon API gives you a better control over all those monitors in your big - possibly Java EE - application. Simons are organized in a hierarchy similar to what you can see in java.util.logging API.

Simons can be disabled which minimizes their overhead influencing your application. These operations can be performed on the whole subtrees of Simons which makes partial application monitoring easier. See SimonHierarchy for more.

Simon measures times in nanos - and since 2008 nanos have been getting better with every OS and JDK release. Believe it or not it can make the difference on current very fast machines. See SystemTimersGranularity page for more.

Future plans

Our future goals include (the later goals are in a more distant future):

  • Simple Simon web console.
  • EJB3 interceptor, more AOP options.
  • Sampling, collecting, agregating with persistence backend (file/DB).
  • VisualVM plugin.

BTW: Where and when we will be there depends on your feedback as well. :-)

Do you have something to tell us?

So tell us! Visit our Google Group (preferably) or file an issue, whatever. We can't promise to fulfill all your dreams but we want to produce the library YOU like (and so do we - of course ;-)). So if you know how to make Simon better, without making it something it is not, let us know! We want to know.

Powered by Google Project Hosting