On Tue, Apr 15, 2014 at 3:59 PM, Christopher Schultz < ch...@christopherschultz.net> wrote:
> > > Can you afford to wait for the request to complete (late), or do you > need to know immediately when a request is taking too long? > My reasoning for measuring the long-running requests at a given period of time is so that you can co-relate it to other metrics at that given time. In my homegrown dashboard, I would graph the values returned alongside CPU, thread-use, Heap-size, connection-pool size etc. And then try to locate a signature of the problem. So just requests that have been inflight for the last "n" seconds at a given period of time would help. Or again, late requests, like you mention might work too. So at a given time, which requests completed late. Some of the tools out there have this troubleshooting down to a science and it makes life so easy for all parties! > In either case, this type of thing can be done easily with a filter. > Whether you use JMX or not to report the condition is up to you. > > > Similarly, how many times a servlet is invoked in a given time > > period would count as concurrent invocations. Intervals used for > > the reckoning here may be shorter - like 5 seconds - to make it > > more meaningful for concurrency values. > > Again, Filters are your friends. Feel free to publish the information > via JMX as well. My presentation contains all the information you need > for the JMX stuff. Everything else is pure Java. > > > Yes, I plan to explore that more. Thanks again, -Shanti