001 /**
002 *
003 * Copyright 2006 The Apache Software Foundation
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 package org.apache.geronimo.management.geronimo.stats;
019
020 import javax.management.j2ee.statistics.Stats;
021 import javax.management.j2ee.statistics.RangeStatistic;
022 import javax.management.j2ee.statistics.TimeStatistic;
023 import javax.management.j2ee.statistics.CountStatistic;
024
025 /**
026 * Statistics exposed by a Tomcat web connector (http, https)
027 *
028 * @version $Rev: 503417 $ $Date: 2007-02-04 09:48:10 -0500 (Sun, 04 Feb 2007) $
029 */
030 public interface WebConnectorStats extends Stats {
031
032 /**
033 * Gets the Time statistics (count, total, Max, Min) for requests (includes
034 * figures across all requests since statistics gathering started)
035 */
036 TimeStatistic getRequestTime();
037
038 /**
039 * Gets the number of errors that have been returned since statistics
040 * gathering started.
041 */
042 CountStatistic getErrorCount();
043
044 /**
045 * Gets the number of requests being processed concurrently (as well as the
046 * min and max since statistics gathering started).
047 */
048 RangeStatistic getActiveRequestCount();
049
050 /**
051 * Gets the number of connections currently open (as well as the min and max
052 * since statistics gathering started).
053 */
054 RangeStatistic getOpenConnectionCount();
055
056 /**
057 * Gets the number of threads currently available (as well as min and max
058 * since statistics gathering started.
059 * current - The number of threads currently in the pool (currentThreadCount)
060 * - the number of threads currently serving requests (currentThreadBusy)
061 * HiMark - The maximum number of unused threads that will be allowed to exist
062 * until the thread pool starts stopping the unnecessary threads(maxSpareThread)
063 * UpperBound - The max number of threads created by the connector (maxThreads)
064 * LowerBound - The number of threads created by the connector in the begining (minSpareThread)
065 */
066 // This could be a container statistics
067 RangeStatistic getSpareThreadCount();
068
069 /**
070 * Gets the number of requests handled by a particular connection (as well
071 * as the min(?) and max since statistics gathering started).
072 */
073 // RangeStatistic getConnectionRequestCount();
074
075 /**
076 * Gets the legnth of time that connections have been open (includes figures
077 * across all connections open at present)
078 */
079 // TimeStatistic getConnectionDuration();
080 }