On Tue, Apr 15, 2014 at 4:51 PM, Shanti Suresh <sha...@umich.edu> wrote:
> Greetings, > Hello Shanti, > > 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. > There are tools that are doing exactly that for about 7 years out now. You can go to http://newrelic.com and get it for as much as 150 USD per server. Or you can get all the same for free from http://www.moskito.org. And more. regards Leon > > Greatly appreciate your thoughts and opinions. > > Thanks, > > -Shanti >