001 /** 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. 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 package org.apache.geronimo.jetty6; 018 019 import javax.management.j2ee.statistics.CountStatistic; 020 import javax.management.j2ee.statistics.RangeStatistic; 021 import javax.management.j2ee.statistics.TimeStatistic; 022 023 import org.apache.geronimo.management.stats.CountStatisticImpl; 024 import org.apache.geronimo.management.stats.RangeStatisticImpl; 025 import org.apache.geronimo.management.stats.StatisticImpl; 026 import org.apache.geronimo.management.stats.StatsImpl; 027 import org.apache.geronimo.management.stats.TimeStatisticImpl; 028 029 /** 030 * Jetty implementation of the Geronimo stats interface WebContainerStats 031 * 032 * @version $Revision: 1.0$ 033 */ 034 public class JettyWebContainerStatsImpl extends StatsImpl implements JettyWebContainerStats { 035 private CountStatisticImpl totalConnectionCount; 036 private RangeStatisticImpl openConnectionCount; 037 private RangeStatisticImpl connectionRequestCount; 038 private TimeStatisticImpl connectionDuration; 039 private CountStatisticImpl totalErrorCount; 040 private CountStatisticImpl totalRequestCount; 041 private RangeStatisticImpl activeRequestCount; 042 private TimeStatisticImpl requestDuration; 043 private boolean statsOn=false; 044 045 public JettyWebContainerStatsImpl() { 046 totalConnectionCount = new CountStatisticImpl("Total Connections", StatisticImpl.UNIT_COUNT, 047 "The total number of connections since last reset"); 048 openConnectionCount = new RangeStatisticImpl("Open Connections", StatisticImpl.UNIT_COUNT, 049 "The number of connections open at present"); 050 connectionRequestCount = new RangeStatisticImpl("Connection Request Count", StatisticImpl.UNIT_COUNT, 051 "The number of requests handled by a particular connection"); 052 connectionDuration = new TimeStatisticImpl("Connection Duration", StatisticImpl.UNIT_TIME_MILLISECOND, 053 "The legnth of time that individual connections have been open"); 054 totalErrorCount = new CountStatisticImpl("Error Count", StatisticImpl.UNIT_COUNT, 055 "The number of reponses that were errors since statistics gathering started"); 056 totalRequestCount = new CountStatisticImpl("Request Count", StatisticImpl.UNIT_COUNT, 057 "The number of requests that were handled since statistics gathering started"); 058 activeRequestCount = new RangeStatisticImpl("Active Request Count", StatisticImpl.UNIT_COUNT, 059 "The number of requests being processed concurrently"); 060 requestDuration = new TimeStatisticImpl("Request Duration", StatisticImpl.UNIT_TIME_MILLISECOND, 061 "The length of time that it's taken to handle individual requests"); 062 063 addStat("TotalConnectionCount", totalConnectionCount); 064 addStat("OpenConnectionCount", openConnectionCount); 065 addStat("ConnectionRequestCount", connectionRequestCount); 066 addStat("ConnectionDuration", connectionDuration); 067 addStat("TotalErrorCount", totalErrorCount); 068 addStat("TotalRequestCount", totalRequestCount); 069 addStat("ActiveRequestCount", activeRequestCount); 070 addStat("RequestDuration", requestDuration); 071 } 072 073 public CountStatistic getTotalConnectionCount() { 074 return totalConnectionCount; 075 } 076 077 public RangeStatistic getOpenConnectionCount() { 078 return openConnectionCount; 079 } 080 081 public RangeStatistic getConnectionRequestCount() { 082 return connectionRequestCount; 083 } 084 085 public TimeStatistic getConnectionDuration() { 086 return connectionDuration; 087 } 088 089 public CountStatistic getTotalErrorCount() { 090 return totalErrorCount; 091 } 092 093 public CountStatistic getTotalRequestCount() { 094 return totalRequestCount; 095 } 096 097 public RangeStatistic getActiveRequestCount() { 098 return activeRequestCount; 099 } 100 101 public TimeStatistic getRequestDuration() { 102 return requestDuration; 103 } 104 105 public boolean isStatsOn() { 106 return statsOn; 107 } 108 109 public void setStatsOn(boolean on) { 110 statsOn = on; 111 } 112 113 public CountStatisticImpl getTotalConnectionCountImpl() { 114 return totalConnectionCount; 115 } 116 117 public RangeStatisticImpl getOpenConnectionCountImpl() { 118 return openConnectionCount; 119 } 120 121 public RangeStatisticImpl getConnectionRequestCountImpl() { 122 return connectionRequestCount; 123 } 124 125 public TimeStatisticImpl getConnectionDurationImpl() { 126 return connectionDuration; 127 } 128 129 public CountStatisticImpl getTotalErrorCountImpl() { 130 return totalErrorCount; 131 } 132 133 public CountStatisticImpl getTotalRequestCountImpl() { 134 return totalRequestCount; 135 } 136 137 public RangeStatisticImpl getActiveRequestCountImpl() { 138 return activeRequestCount; 139 } 140 141 public TimeStatisticImpl getRequestDurationImpl() { 142 return requestDuration; 143 } 144 }