Greetings,

Chris' presentation on monitoring Tomcat is really nice work.  I found that
quite useful.

Taking it one step further, could I request some recommendations on how we
might profile Java code running inside Tomcat?  Often, I am stuck with
finding out why an application is slow.  It could be a consistent,
progressive  or a sudden problem.  These applications do not expose metrics
via MBeans.  Say, for e.g., a vendor application which has been heavily
customized in-house.

Some metrics that I find useful during these times are things like
concurrent invocations, stall counts on components, call-stack,
response-rate etc.
Java Melody has a nice built-in dashboard of metrics.  Co-relating metrics
like that is powerful and helps isolate relatively easy problems.  I find
that the metrics skim the surface of more involved problems.

In Tomcat, is there a way to go deeper into the performance of the code for
root-cause analysis and isolate a section of the code or a flow in the code
for troubleshooting?  How would one go about getting to that place?  Let's
say, there is no budget for purchasing tools in that space.  I find Chris'
example on writing filters to map to URL patterns for response-time metrics
relevant.  I would also like stall counts, concurrent invocations etc.

Greatly appreciate your thoughts and opinions.

Thanks,

                         -Shanti

Reply via email to