Oct 16th, 2008, 05:35 PM
JMX for Monitoring
I have a vague memory from the Spring tutorials that JMX can be used to Monitor (only) java objects. Which (duh) is half the point.
I want to use this to take a look at some of the internals of a web app I need t performance tuning and profiling. However it would appear from all the documentation I have seen that I need to adjust the objects for JMX.
Am I missing something?
Is this a reasonable way to do the performance/profiling or are there better ways?
Oct 29th, 2008, 10:53 AM
You don't need to modify your code in order to expose your beans as JMX MBeans.
See this article for how to do this:
This is a simple approach to performance profiling, but there are better ways.
Have you tried JMeter? The interface is terrible, but it is feature rich...
There are also commercial offerings like Borlands OptimiseIt, or JProfile that are more intuitive to use
Oct 31st, 2008, 07:17 AM
There are better ways to do performance profiling.
Try JMeter or OptimizeIt.
If you want to use JMX and don't want to change your code, take a look at this article:
h t t p : / / w w w . s m a r t k e y . c o . u k /blogArticle.html?articleNumber=87
http://ww ;w.smartke& #121;.co.uk//blogArticle.html?articleNumber=87
Nov 5th, 2008, 03:36 PM
You might also try an evaluation version of SpringSource AMS, which will monitor a large number of Spring components without requiring extra configuration to get the MBeans exported (they are automatically created and updated when your application is bootstrapped). http://www.springsource.com/products/suite/ams
If you are looking to do more heap profiling/diagnostics at dev time, I've heard good things about YourKit and VisualVM as well.
Full Disclosure - SpringSource AMS Project Lead