Version 2 updates

8 views
Skip to first unread message

Virgo47

unread,
Feb 13, 2009, 5:06:24 AM2/13/09
to javasimon
Hi all

Just to let you know that we're still working on Simon... we're
committing a lot and there are two important lines of work now:

* JMX support... we've decided to go for JMX 1.4 support which means
you have to use JDK 1.6 if you wanna use our JMX layer. There is one
good reason for this - it supports arbitrary complex objects which we
needed to support Simon sampling and getting the Sample over the JMX.
Sample is object, not just the the array and it's much better to work
with objects in the JMX client code (in any code actually :-)) than
with arrays of values. Support for JDK 1.5 (JMX 1.2) is not currently
planned, but it depends on demand. ;-) Of course you still can use
Simon without JMX on Java 5.

* Callbacks that allows to hook on various operations. Callback is
Manager wide, but it can do complex things. Either you can implement
complex callback or compose it from more callbacks as callbacks can be
chained (it's rather a tree than a chain, you can also branch them)
and filtered. Example:

* Manager has a...
* CompositeCallback which has two children
* Logging callback (gets all events and logs them if it is
implemented to do so)
* Filtering callback (this can be configured, e.g. block/allow
events for "*.debug.*" pattern, etc.)
* Some other callback... depends really only on your needs

Hope you got the idea. Filtering and Composite callbacks are now
available, although currently you can only filter based on Simon's
name. Later you can do things like:
"For Simons with some PATTERN check if STOP event ends up with split
time > some TRESHOLD and do something... e.g. send JMX notification."

I guess it sounds cool, right? We're pretty close to this. With
callbacks our JDBC proxy driver can not only monitor but it can also
log statements as they happen which is something p6spy is used for.
Concrete callback implementations are out of the Java Simon core and
you really can come up with anything.

Performance/monitoring is area where a lot of new things happen now.
There is Perf4J getting more and more attention: http://www.infoq.com/news/2009/02/perf4j

Coincidentailly - callbacks are quite similar to the idea using
appenders of the log4j, but are way more generic. Of course they can
use appenders to do generic stuff too, but callbacks ARE generic.
Perf4J is out there and has some neat features we're looking at and
there is a lot of common ground both projects are covering. However
both are fundamentally different, but we're pretty sure we can provide
similar results like Perf4J.

Version 2 is about JMX, configuration facility and callbacks. It
should be out within two months top (hopefuly). Next version might be
more about presentation which is something we don't have yet.
Graphing, analyzing, on-line/off-line. We have the ideas, we know how
to do it, but we wanna keep Simon nice and well documented too, so we
have to wrap up this version first.

Stay tuned and if you have any idea or wanna help, bring it in!

Virgo
Reply all
Reply to author
Forward
0 new messages