Archive for the ‘open-source’ Tag

Open Source Performance Monitoring Tool | Jamon

Lot of times working with different performance testing projects, we sometimes feel that there is lack of simple but effective monitoring tool to work with. Even for the developers, there is no simple way to gauge the method execution times of their code directly. We have a tool from the open-source world Jamon that can help both developers and testers which can be installed and used without much of a fuss. Jamon has been in the market for some years now and frankly I stumbled on it only very recently.

This post is just to give an overview of the tool as there is good amount of case studies and examples available on the web. To show-case Jamon’s simplicity and capability, I have attached below a snapshot of what all it can monitor and how.

Jamon Implementation Alternatives

Jamon Implementation Approaches

It is a simple and effective tool in getting the method execution times without putting too much of monitoring code.  This tool is most suited to web application developed in J2EE and Spring framework. It can also monitor in the following:

  • Manual Instrumentation – Write explicit start and stop monitoring code – it is the only intrusive way
  • HTTP Requests – server.xml only has to be updated to begin monitoring
  • EJB – Update ejb-jar.xml to monitor EJBs
  • JDBC – Connection string needs to be modified. Keeping connection string in configuration file would ensure no code change is needed.
  • J2EE Servlet  – Add a web filter in web.xml file.
  • Spring Framework – Beans have to be updated in spring context.

Installation is fairly simple involving two steps:

  • add JAMon.jar to your [WEBAPP_HOME]/web-inf/lib
  • Deploy the jamon.war on your tomcat

Once the above steps are done, we can see the performance stats at http://localhost:8080/jamon/JAMonAdmin.jsp

Since the tool installation does not require any special privileges, even developers can include Jamon on their machines and check the performance of their own methods right during the development itself.

One of the other key feature is that it can easily enabled or disabled at the click of the button and anybody who has access to the dashboard and thus making its operation simple. I am not covering step-by-step usage of the  tool as that is already available on the web. However, you can find the references that I used at the end of this post.

There is another tool JavaSimon from Google on the similar lines of Jamon. It  has similar features and in some cases it also outscores Jamon. However, since there was many case studies available on the web, I preferred to use a tried and tested tool for my project.

So go ahead and give a shot to this beautiful tool and let me know your thoughts on this.

References