Friday September 1, 2006

JAMon Java Performance Monitoring

This week I used JAMon to create a monitor some of our EAI components. With JAMon it is really easy to have monitoring even on production systems. It comes with a simple WebApp, which lets your view the statistics. And the best part: It only takes minutes to get started, and only seconds to add additional spots to measure:

Monitor mon=MonitorFactory.start("myMonitor")
...code being measured...
mon.stop();

Too easy, eh? :-)

But even easier, from Version 2.1 JAMon comes with a Dynamic Proxy, which lets you measure methods calls to an interface in just one line:

MyInterface myObject = (MyInterface) MonProxyFactory
    .monitor(new MyObject());
myObject.myMethod(); // this is the actual call to the method

Kudos to my ex-colleague Oliver Holzmann for digging this up at the GSP project last year.

Update: InfraRED seems to be another great tool for performance analysis. It is based completely on AOP, which removes the need from adding measurement points programmatically to your application logic. From a quick look at the demo, it also looks more comprehensive than JAMon. Thanks to Mika for the hint.

Posted on Sep 1, 2006 at 20:22 (MET) | Permalink | 2 comments