Apr 30, 2009

Can you monitor Java performance w/o affecting the system itself?

The Conservative Way
Well, the popular way to monitor code performance and detect bottlenecks is using Profilers. However, profilers insert small portions of code into the code base in order to measure each function processing time. For functions that require relatively long time to complete, this issue can be neglected. In other cases, when a function requires a very short time to complete and its called many times, this behavior can lead to wrong conclusions.

Usually in order to overcome this issue, you should carefully tune your measurement period in order to avoid over measurements.

The Alternative Way
We at RockeTier, are discussing several business opportunities with IBM these days. During these discussions, we noticed a great tool by Jinwoo Hwang from IBM. IBM offers an alternative way. Its tool analyzes Windows (yes, they support only Windows) performance log and Java thread dumps and automatically detects Java threads that consume the majority of system resources.
It is even more interesting since this tool supports both system monitoring and Java thread monitoring. Each can be done separately. Therefore, you gain flexibility, detect the problematic code area and focus on it in your debug environment w/o affecting the production system at all.

You can download this tool from the IBM site.

Keep Performing,
Moshe Kaplan. RockeTier. The Performance and Cloud Computing Experts.

No comments:


Intense Debate Comments

Ratings and Recommendations