001    package org.apache.geronimo.jetty;
002    
003    import javax.management.j2ee.statistics.CountStatistic;
004    import javax.management.j2ee.statistics.RangeStatistic;
005    import javax.management.j2ee.statistics.TimeStatistic;
006    
007    import org.apache.geronimo.management.stats.CountStatisticImpl;
008    import org.apache.geronimo.management.stats.RangeStatisticImpl;
009    import org.apache.geronimo.management.stats.StatisticImpl;
010    import org.apache.geronimo.management.stats.StatsImpl;
011    import org.apache.geronimo.management.stats.TimeStatisticImpl;
012    
013    /**
014     * Jetty implementation of the Geronimo stats interface WebContainerStats
015     *
016     * @version $Revision: 1.0$
017     */
018    public class JettyWebContainerStatsImpl extends StatsImpl implements JettyWebContainerStats {
019        private CountStatisticImpl totalConnectionCount;
020        private RangeStatisticImpl openConnectionCount;
021        private RangeStatisticImpl connectionRequestCount;
022        private TimeStatisticImpl connectionDuration;
023        private CountStatisticImpl totalErrorCount;
024        private CountStatisticImpl totalRequestCount;
025        private RangeStatisticImpl activeRequestCount;
026        private TimeStatisticImpl requestDuration;
027        private boolean statsOn=false;
028    
029        public JettyWebContainerStatsImpl() {
030            totalConnectionCount = new CountStatisticImpl("Total Connections", StatisticImpl.UNIT_COUNT,
031                    "The total number of connections since last reset");
032            openConnectionCount = new RangeStatisticImpl("Open Connections", StatisticImpl.UNIT_COUNT,
033                    "The number of connections open at present");
034            connectionRequestCount = new RangeStatisticImpl("Connection Request Count", StatisticImpl.UNIT_COUNT,
035                    "The number of requests handled by a particular connection");
036            connectionDuration = new TimeStatisticImpl("Connection Duration", StatisticImpl.UNIT_TIME_MILLISECOND,
037                    "The legnth of time that individual connections have been open");
038            totalErrorCount = new CountStatisticImpl("Error Count", StatisticImpl.UNIT_COUNT,
039                    "The number of reponses that were errors since statistics gathering started");
040            totalRequestCount = new CountStatisticImpl("Request Count", StatisticImpl.UNIT_COUNT,
041                    "The number of requests that were handled since statistics gathering started");
042            activeRequestCount = new RangeStatisticImpl("Active Request Count", StatisticImpl.UNIT_COUNT,
043                    "The number of requests being processed concurrently");
044            requestDuration = new TimeStatisticImpl("Request Duration", StatisticImpl.UNIT_TIME_MILLISECOND,
045                    "The length of time that it's taken to handle individual requests");
046    
047            addStat("TotalConnectionCount", totalConnectionCount);
048            addStat("OpenConnectionCount", openConnectionCount);
049            addStat("ConnectionRequestCount", connectionRequestCount);
050            addStat("ConnectionDuration", connectionDuration);
051            addStat("TotalErrorCount", totalErrorCount);
052            addStat("TotalRequestCount", totalRequestCount);
053            addStat("ActiveRequestCount", activeRequestCount);
054            addStat("RequestDuration", requestDuration);
055        }
056    
057        public CountStatistic getTotalConnectionCount() {
058            return totalConnectionCount;
059        }
060    
061        public RangeStatistic getOpenConnectionCount() {
062            return openConnectionCount;
063        }
064    
065        public RangeStatistic getConnectionRequestCount() {
066            return connectionRequestCount;
067        }
068    
069        public TimeStatistic getConnectionDuration() {
070            return connectionDuration;
071        }
072    
073        public CountStatistic getTotalErrorCount() {
074            return totalErrorCount;
075        }
076    
077        public CountStatistic getTotalRequestCount() {
078            return totalRequestCount;
079        }
080    
081        public RangeStatistic getActiveRequestCount() {
082            return activeRequestCount;
083        }
084    
085        public TimeStatistic getRequestDuration() {
086            return requestDuration;
087        }
088    
089        public boolean isStatsOn() {
090            return statsOn;
091        }
092    
093        public void setStatsOn(boolean on) {
094            statsOn = on;
095        }
096    
097        public CountStatisticImpl getTotalConnectionCountImpl() {
098            return totalConnectionCount;
099        }
100    
101        public RangeStatisticImpl getOpenConnectionCountImpl() {
102            return openConnectionCount;
103        }
104    
105        public RangeStatisticImpl getConnectionRequestCountImpl() {
106            return connectionRequestCount;
107        }
108    
109        public TimeStatisticImpl getConnectionDurationImpl() {
110            return connectionDuration;
111        }
112    
113        public CountStatisticImpl getTotalErrorCountImpl() {
114            return totalErrorCount;
115        }
116    
117        public CountStatisticImpl getTotalRequestCountImpl() {
118            return totalRequestCount;
119        }
120    
121        public RangeStatisticImpl getActiveRequestCountImpl() {
122            return activeRequestCount;
123        }
124    
125        public TimeStatisticImpl getRequestDurationImpl() {
126            return requestDuration;
127        }
128    }