I have a small patch that I think improves the session listing in the manager webapp:

The doc says

============================
Session Statistics

Display the default session timeout for a web application, and the number of currently active sessions that fall within ten-minute ranges of their actual timeout times. For example, after restarting Tomcat and then executing one of the JSP samples in the /examples web app, you might get something like this:
============================

Actually that's not true and I have the impression the code does something not very useful which we can very easily tranform to something really useful:

At the moment the code calculates a histogramm of the different maxInactiveInterval values for all sessions of a context. Now most contexts I know, work with a fixed maxInactiveInterval for all sessions in the context. As a result, all of the sessions are in the same histogram class and instead of the possible up to 60 lines of result histogram, the code always simply produces a single line showing again the total number of sessions - which is already included on the same page further down. So no real sense in that.

With a few lines of change we could easily list a histogram of how far sessions are away from their idle timeout. That seems to be a much more interesting information for monitoring, e.g. it enables to make a well informed decision on shrinking or sizing up session timeouts. This would also be in better alignment with the documntation of manger. This is sugestion 1a.

What I would even like better is instead printing a hitogramm of the actual idle time of the sessions. I think for most admins this is a more easily understandable metric.

So suggestion 1b: change sessions-function in manager webapp to show a histogram of session idle distribution instead of maxActiveTimeout distribution.

Suggestion 2: another small fix would allow a manager user to prematurely expire all sessions which are idle for a longer time than the amount of minutes she types into a text field (before she presses the new expire button.

I have a use case for this: some applications work with long running sessions (employee applications) that might have relatively big sessions. These applications typically have a timeout of several hours to allow resumption of work after lunch breaks, meeting etc. Often such apps depend on other external applications. When those have a bad day, the users of the web app might experience very long response times. So they decide to try a new login to the web app. From that point in time their old sessions are no longer used, but still stay in memory for several more hours. As soon as the external app has another hickup, another round of sessions gets lost by the same user behaviour. A well informed admin could now react to such a non-standard situation by deciding to expire all sessions which are idle longer than the amount of minutes she decides, e.g. one hour.

I did all that for TC5 and for 5.5 it's mostly the same. If their is interest in it, I would provide patches, including doc patches. I still would need spanish and japanese translations for "expire". :)

Feedback is highly welcome.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to