View Javadoc

1   // ========================================================================
2   // Copyright 2009-2009 Mort Bay Consulting Pty. Ltd.
3   // ------------------------------------------------------------------------
4   // Licensed under the Apache License, Version 2.0 (the "License");
5   // you may not use this file except in compliance with the License.
6   // You may obtain a copy of the License at
7   // http://www.apache.org/licenses/LICENSE-2.0
8   // Unless required by applicable law or agreed to in writing, software
9   // distributed under the License is distributed on an "AS IS" BASIS,
10  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  // See the License for the specific language governing permissions and
12  // limitations under the License.
13  // ========================================================================
14  
15  package org.mortbay.jetty.handler;
16  
17  /**
18   * @version $Revision: 5236 $ $Date: 2009-06-17 07:36:08 +1000 (Wed, 17 Jun 2009) $
19   */
20  public abstract class AbstractStatisticsHandler extends HandlerWrapper
21  {
22      protected void doStart() throws Exception
23      {
24          super.doStart();
25          statsReset();
26      }
27  
28      /**
29       * Resets the current request statistics.
30       */
31      public abstract void statsReset();
32  
33      /**
34       * @return the number of requests handled by this handler
35       * since {@link #statsReset()} was last called.
36       */
37      public abstract int getRequests();
38  
39      /**
40       * @return the number of requests currently active.
41       * since {@link #statsReset()} was last called.
42       */
43      public abstract int getRequestsActive();
44  
45      /**
46       * @return the maximum number of active requests
47       * since {@link #statsReset()} was last called.
48       */
49      public abstract int getRequestsActiveMax();
50  
51      /**
52       * @return the number of responses with a 1xx status returned by this context
53       * since {@link #statsReset()} was last called.
54       */
55      public abstract int getResponses1xx();
56  
57      /**
58       * @return the number of responses with a 2xx status returned by this context
59       * since {@link #statsReset()} was last called.
60       */
61      public abstract int getResponses2xx();
62  
63      /**
64       * @return the number of responses with a 3xx status returned by this context
65       * since {@link #statsReset()} was last called.
66       */
67      public abstract int getResponses3xx();
68  
69      /**
70       * @return the number of responses with a 4xx status returned by this context
71       * since {@link #statsReset()} was last called.
72       */
73      public abstract int getResponses4xx();
74  
75      /**
76       * @return the number of responses with a 5xx status returned by this context
77       * since {@link #statsReset()} was last called.
78       */
79      public abstract int getResponses5xx();
80  
81      /**
82       * @return the milliseconds since the statistics were started with {@link #statsReset()}.
83       */
84      public abstract long getStatsOnMs();
85  
86      /**
87       * @return the minimum time (in milliseconds) of request handling
88       * since {@link #statsReset()} was last called.
89       */
90      public abstract long getRequestTimeMin();
91  
92      /**
93       * @return the maximum time (in milliseconds) of request handling
94       * since {@link #statsReset()} was last called.
95       */
96      public abstract long getRequestTimeMax();
97  
98      /**
99       * @return the total time (in milliseconds) of requests handling
100      * since {@link #statsReset()} was last called.
101      */
102     public abstract long getRequestTimeTotal();
103 
104     /**
105      * @return the average time (in milliseconds) of request handling
106      * since {@link #statsReset()} was last called.
107      * @see #getRequestTimeTotal()
108      * @see #getRequests()
109      */
110     public abstract long getRequestTimeAverage();
111 }