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: 706640 $ $Date: 2008-10-21 14:44:05 +0000 (Tue, 21 Oct 2008) $
029     */
030    public interface TomcatWebConnectorStats extends WebConnectorStats {
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 threads currently available (as well as min and max 
052         * since statistics gathering started.
053         * current - The number of threads currently in the pool (currentThreadCount)
054         *         - the number of threads currently serving requests (currentThreadBusy)
055         *  HiMark    - The maximum number of unused threads that will be allowed to exist 
056         *              until the thread pool starts stopping the unnecessary threads(maxSpareThread)
057         * UpperBound - The max number of threads created by the connector (maxThreads)
058         * LowerBound - The number of threads created by the connector in the begining (minSpareThread)
059         */        
060        // This could be a container statistics
061        RangeStatistic getSpareThreadCount();
062    }