I have multiple java-based applications which produce statistics on how long method calls take.
Right now the information is being written into a log file and I analyse performance that way. However with multiple apps and more monitoring requirements this is being becoming a bit overwhelming.
I am looking for an application which will collect stats and graph them so I can analyse performance and be aware of performance degradation.
I have looked at Solarwinds Application Performance Monitoring, however this polls periodically to gather information. My applications are totally event based and we would like to graph and track this accordingly.
I almost started hacking together some scripts to produce Google Charts but surely there are applications which do this already. Suggestions?
For something simple, and since you're already collecting stats yourself, check out Perf4J. It might fit the bill perfectly.
If you anticipate needing something more involved, consider publishing stats through JMX and monitoring with just JConsole or something like OpenNMS (I haven't tried this myself). See more here: http://www.ibm.com/developerworks/java/library/j-jtp09196/index.html
If your monitoring needs extend outside a single server, for example if your apps are talking with DBs or web services, then an application-aware network performance monitor like ExtraHop is something to consider: http://www.extrahop.com/products/
I haven't seen a solution that does exactly that. However, if you have a look at up.time, from uptime software, you'll find that it has a number of deep application events monitors that might do the trick. Additionally, you can push data into up.time and leverage it's graphing functionality. There is a free 30-day trial, so it might be worth checking out if it sounds like a fit - http://www.uptimesoftware.com
There's expensive tools like DynaTrace
There is a free java performance troubleshooting product available for download at www.appdynamics.com/free
It is designed to be installed and working in 15 minutes...to provide exactly what you are looking for. Give it a try. In 15 minutes, you'll know whether or not you found the right tool.
Take a look at this option, http://www.rtiperformance.com. It can be used in both production and test. I was so impressed by the product I allowed my name and feedback to be used to promote the product.