You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by rm...@apache.org on 2013/08/02 09:42:16 UTC
svn commit: r1509574 - in /commons/sandbox/monitoring/trunk:
aop/src/main/java/org/apache/commons/monitoring/aop/
aop/src/test/java/org/apache/commons/monitoring/aop/
aspectj/src/test/java/org/apache/commons/monitoring/aspectj/
cdi/src/test/java/org/ap...
Author: rmannibucau
Date: Fri Aug 2 07:42:15 2013
New Revision: 1509574
URL: http://svn.apache.org/r1509574
Log:
adding gauge concept (= way to get a measure)
Added:
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/Role.java
- copied, changed from r1509549, commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counter/Role.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/
- copied from r1509549, commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counter/
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/DefaultGaugeRepository.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/Gauge.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/GaugeRepository.java
commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counters/
- copied from r1509549, commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counter/
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/listener/
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/listener/CleanupListener.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/CPUGauge.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/MemoryGauge.java
commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.gauges.Gauge
Removed:
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counter/
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Role.java
commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counter/
Modified:
commons/sandbox/monitoring/trunk/aop/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java
commons/sandbox/monitoring/trunk/aop/src/test/java/org/apache/commons/monitoring/aop/MonitoringProxyFactoryTest.java
commons/sandbox/monitoring/trunk/aspectj/src/test/java/org/apache/commons/monitoring/aspectj/AspectJMonitoringTest.java
commons/sandbox/monitoring/trunk/cdi/src/test/java/org/apache/commons/monitoring/cdi/CommonsMonitoringInterceptorTest.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Counter.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/DefaultCounter.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Unit.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/DefaultMetricQueueManager.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/MetricQueueManager.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/DefaultRepository.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/Repository.java
commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/stopwatches/CounterStopWatch.java
commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/UnitTest.java
commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counters/CounterBench.java
commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredConnection.java
commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredDataSource.java
commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredPreparedStatement.java
commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredStatement.java
commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoringDriver.java
commons/sandbox/monitoring/trunk/jdbc/src/test/java/org/apache/commons/monitoring/jdbc/HsqlDBTest.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMHandler.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMPlugin.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java
commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java
commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin
commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jvm/jvm.vm
commons/sandbox/monitoring/trunk/reporting/src/main/webapp/WEB-INF/web.xml
commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java
commons/sandbox/monitoring/trunk/spring/src/test/java/org/apache/commons/monitoring/spring/SpringMonitoringTest.java
commons/sandbox/monitoring/trunk/src/site/xdoc/web.xml
commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/jsp/StartTag.java
commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/servlet/MonitoringFilter.java
Modified: commons/sandbox/monitoring/trunk/aop/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/aop/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/aop/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java (original)
+++ commons/sandbox/monitoring/trunk/aop/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java Fri Aug 2 07:42:15 2013
@@ -17,8 +17,8 @@
package org.apache.commons.monitoring.aop;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.apache.commons.monitoring.stopwatches.StopWatch;
Modified: commons/sandbox/monitoring/trunk/aop/src/test/java/org/apache/commons/monitoring/aop/MonitoringProxyFactoryTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/aop/src/test/java/org/apache/commons/monitoring/aop/MonitoringProxyFactoryTest.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/aop/src/test/java/org/apache/commons/monitoring/aop/MonitoringProxyFactoryTest.java (original)
+++ commons/sandbox/monitoring/trunk/aop/src/test/java/org/apache/commons/monitoring/aop/MonitoringProxyFactoryTest.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.aop;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.junit.Test;
Modified: commons/sandbox/monitoring/trunk/aspectj/src/test/java/org/apache/commons/monitoring/aspectj/AspectJMonitoringTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/aspectj/src/test/java/org/apache/commons/monitoring/aspectj/AspectJMonitoringTest.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/aspectj/src/test/java/org/apache/commons/monitoring/aspectj/AspectJMonitoringTest.java (original)
+++ commons/sandbox/monitoring/trunk/aspectj/src/test/java/org/apache/commons/monitoring/aspectj/AspectJMonitoringTest.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.aspectj;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.junit.Test;
Modified: commons/sandbox/monitoring/trunk/cdi/src/test/java/org/apache/commons/monitoring/cdi/CommonsMonitoringInterceptorTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/cdi/src/test/java/org/apache/commons/monitoring/cdi/CommonsMonitoringInterceptorTest.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/cdi/src/test/java/org/apache/commons/monitoring/cdi/CommonsMonitoringInterceptorTest.java (original)
+++ commons/sandbox/monitoring/trunk/cdi/src/test/java/org/apache/commons/monitoring/cdi/CommonsMonitoringInterceptorTest.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.cdi;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.apache.webbeans.cditest.CdiTestContainer;
import org.apache.webbeans.cditest.CdiTestContainerLoader;
Copied: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/Role.java (from r1509549, commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counter/Role.java)
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/Role.java?p2=commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/Role.java&p1=commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counter/Role.java&r1=1509549&r2=1509574&rev=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counter/Role.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/Role.java Fri Aug 2 07:42:15 2013
@@ -15,9 +15,11 @@
* limitations under the License.
*/
-package org.apache.commons.monitoring.counter;
+package org.apache.commons.monitoring;
-import static org.apache.commons.monitoring.counter.Unit.Time.NANOSECOND;
+import org.apache.commons.monitoring.counters.Unit;
+
+import static org.apache.commons.monitoring.counters.Unit.Time.NANOSECOND;
/**
* As a monitored resource may have multipe Metrics, each one has a dedicated 'role' that
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/configuration/Configuration.java Fri Aug 2 07:42:15 2013
@@ -83,7 +83,7 @@ public final class Configuration {
if (m.getAnnotation(Created.class) != null) {
m.invoke(instance);
} else if (m.getAnnotation(Destroying.class) != null) {
- if (shutdownHook == null == is(COMMONS_MONITORING_PREFIX + ".shutdown.hook", false)) {
+ if (shutdownHook == null == is(COMMONS_MONITORING_PREFIX + ".shutdown.hook", true)) {
shutdownHook = new Thread() {
@Override
public void run() {
@@ -106,6 +106,10 @@ public final class Configuration {
return Boolean.parseBoolean(getProperty(key, Boolean.toString(defaultValue)));
}
+ public static int getInteger(final String key, final int defaultValue) {
+ return Integer.parseInt(getProperty(key, Integer.toString(defaultValue)));
+ }
+
public static String getProperty(final String key, final String defaultValue) {
return PROPERTIES.getProperty(key, defaultValue);
}
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Counter.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Counter.java?rev=1509574&r1=1509549&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Counter.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Counter.java Fri Aug 2 07:42:15 2013
@@ -15,7 +15,9 @@
* limitations under the License.
*/
-package org.apache.commons.monitoring.counter;
+package org.apache.commons.monitoring.counters;
+
+import org.apache.commons.monitoring.Role;
import java.util.concurrent.atomic.AtomicInteger;
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/DefaultCounter.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/DefaultCounter.java?rev=1509574&r1=1509549&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/DefaultCounter.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/DefaultCounter.java Fri Aug 2 07:42:15 2013
@@ -14,11 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.counter;
+package org.apache.commons.monitoring.counters;
import org.apache.commons.math.stat.descriptive.SummaryStatistics;
import org.apache.commons.monitoring.configuration.Configuration;
-import org.apache.commons.monitoring.counter.queuemanager.MetricQueueManager;
+import org.apache.commons.monitoring.counters.queuemanager.MetricQueueManager;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.Lock;
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Unit.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Unit.java?rev=1509574&r1=1509549&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Unit.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/Unit.java Fri Aug 2 07:42:15 2013
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.monitoring.counter;
+package org.apache.commons.monitoring.counters;
import java.util.ArrayList;
import java.util.Collections;
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/DefaultMetricQueueManager.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/DefaultMetricQueueManager.java?rev=1509574&r1=1509549&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/DefaultMetricQueueManager.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/DefaultMetricQueueManager.java Fri Aug 2 07:42:15 2013
@@ -14,10 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.counter.queuemanager;
+package org.apache.commons.monitoring.counters.queuemanager;
-import org.apache.commons.monitoring.counter.Counter;
-import org.apache.commons.monitoring.counter.DefaultCounter;
+import org.apache.commons.monitoring.counters.Counter;
+import org.apache.commons.monitoring.counters.DefaultCounter;
import java.util.concurrent.locks.Lock;
@@ -45,7 +45,7 @@ import com.lmax.disruptor.RingBuffer;
import com.lmax.disruptor.SleepingWaitStrategy;
import com.lmax.disruptor.dsl.Disruptor;
import com.lmax.disruptor.dsl.ProducerType;
-import org.apache.commons.monitoring.counter.DefaultCounter;
+import org.apache.commons.monitoring.counters.DefaultCounter;
import org.apache.commons.monitoring.util.DaemonThreadFactory;
import java.io.IOException;
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/MetricQueueManager.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/MetricQueueManager.java?rev=1509574&r1=1509549&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/MetricQueueManager.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/counters/queuemanager/MetricQueueManager.java Fri Aug 2 07:42:15 2013
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.counter.queuemanager;
+package org.apache.commons.monitoring.counters.queuemanager;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.counters.Counter;
public interface MetricQueueManager {
void add(Counter baseMetrics, double delta);
Added: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/DefaultGaugeRepository.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/DefaultGaugeRepository.java?rev=1509574&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/DefaultGaugeRepository.java (added)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/DefaultGaugeRepository.java Fri Aug 2 07:42:15 2013
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.gauges;
+
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.configuration.Configuration;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.ServiceLoader;
+import java.util.Timer;
+import java.util.TimerTask;
+import java.util.concurrent.ConcurrentHashMap;
+
+public final class DefaultGaugeRepository implements GaugeRepository {
+ private static final int MAX_SIZE = Configuration.getInteger(Configuration.COMMONS_MONITORING_PREFIX + "gauge.max-size", 150000);
+
+ private final Map<Role, Timer> timers = new ConcurrentHashMap<Role, Timer>();
+ private final Map<Role, FixedSizedMap> values = new ConcurrentHashMap<Role, FixedSizedMap>();
+
+ @Override
+ public void start(final Map<Role, Map<Long, Double>> initialData) {
+ if (initialData != null) {
+ for (final Map.Entry<Role, Map<Long, Double>> entry : initialData.entrySet()) {
+ values.put(entry.getKey(), new FixedSizedMap(entry.getValue()));
+ }
+ }
+
+ startFoundGaugeTimers();
+ }
+
+ @Override
+ public void stop() {
+ for (final Timer timer : timers.values()) {
+ timer.cancel();
+ }
+ timers.clear();
+ }
+
+ @Override
+ public Map<Long, Double> getValues(final Role role) {
+ return values.get(role).copy();
+ }
+
+ protected void startFoundGaugeTimers() {
+ for (final Gauge gauge : findGauges()) {
+ final Role role = gauge.role();
+
+ final FixedSizedMap gaugeValues = new FixedSizedMap();
+ this.values.put(role, gaugeValues);
+
+ final Timer timer = new Timer("gauge-" + role.getName() + "-timer", true);
+ timers.put(role, timer);
+ timer.scheduleAtFixedRate(new GaugeTask(gauge, gaugeValues), 0, gauge.period());
+ }
+ }
+
+ protected ServiceLoader<Gauge> findGauges() {
+ // core (where gauge is) is often in an upper classloader so don't use Gauge classloader
+ return ServiceLoader.load(Gauge.class, Thread.currentThread().getContextClassLoader());
+ }
+
+ @Override
+ public void stopGauge(final Role role) {
+ final Timer timer = timers.get(role);
+ if (timer != null) {
+ timer.cancel();
+ }
+ }
+
+ private static class GaugeTask extends TimerTask {
+ private final Gauge gauge;
+ private final FixedSizedMap values;
+
+ public GaugeTask(final Gauge gauge, FixedSizedMap values) {
+ this.gauge = gauge;
+ this.values = values;
+ }
+
+ @Override
+ public void run() {
+ values.add(gauge.value());
+ }
+ }
+
+ // no perf issues here normally since add is called not that often
+ protected static class FixedSizedMap extends LinkedHashMap<Long, Double> {
+ protected FixedSizedMap() {
+ super(MAX_SIZE);
+ }
+
+ protected FixedSizedMap(final Map<Long, Double> value) {
+ super(value);
+ }
+
+ public synchronized void add(final double value) {
+ put(System.nanoTime(), value);
+ }
+
+ @Override
+ protected boolean removeEldestEntry(final Map.Entry<Long, Double> eldest) {
+ return size() > MAX_SIZE;
+ }
+
+ public synchronized Map<Long, Double> copy() {
+ return Map.class.cast(super.clone());
+ }
+ }
+}
Added: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/Gauge.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/Gauge.java?rev=1509574&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/Gauge.java (added)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/Gauge.java Fri Aug 2 07:42:15 2013
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.gauges;
+
+import org.apache.commons.monitoring.Role;
+
+public interface Gauge {
+ Role role();
+ double value();
+ long period();
+}
Added: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/GaugeRepository.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/GaugeRepository.java?rev=1509574&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/GaugeRepository.java (added)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/gauges/GaugeRepository.java Fri Aug 2 07:42:15 2013
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.gauges;
+
+import org.apache.commons.monitoring.Role;
+
+import java.util.Map;
+
+public interface GaugeRepository {
+ void start(Map<Role, Map<Long, Double>> initialData);
+
+ void stop();
+
+ Map<Long, Double> getValues(Role role);
+
+ void stopGauge(Role role);
+}
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/DefaultRepository.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/DefaultRepository.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/DefaultRepository.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/DefaultRepository.java Fri Aug 2 07:42:15 2013
@@ -17,18 +17,34 @@
package org.apache.commons.monitoring.repositories;
-import org.apache.commons.monitoring.counter.Counter;
-import org.apache.commons.monitoring.counter.DefaultCounter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.configuration.Configuration;
+import org.apache.commons.monitoring.counters.Counter;
+import org.apache.commons.monitoring.counters.DefaultCounter;
+import org.apache.commons.monitoring.gauges.DefaultGaugeRepository;
import org.apache.commons.monitoring.stopwatches.CounterStopWatch;
import org.apache.commons.monitoring.stopwatches.StopWatch;
import java.util.Iterator;
+import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
public class DefaultRepository implements Repository {
+ private final DefaultGaugeRepository gaugeRepository = new DefaultGaugeRepository();
private final ConcurrentMap<Counter.Key, Counter> counters = new ConcurrentHashMap<Counter.Key, Counter>(50);
+ @Configuration.Created
+ public void startGaugeTimers() {
+ gaugeRepository.start(null); // no persistence
+ }
+
+ @Configuration.Destroying
+ public void stopGaugeTimers() {
+ gaugeRepository.stop();
+ }
+
+ @Override
public Counter getCounter(final Counter.Key key) {
Counter monitor = counters.get(key);
if (monitor == null) {
@@ -55,4 +71,14 @@ public class DefaultRepository implement
public Iterator<Counter> iterator() {
return counters.values().iterator();
}
+
+ @Override
+ public Map<Long, Double> getGaugeValues(final Role role) {
+ return gaugeRepository.getValues(role);
+ }
+
+ @Override
+ public void stopGauge(final Role role) {
+ gaugeRepository.stopGauge(role);
+ }
}
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/Repository.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/Repository.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/Repository.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/repositories/Repository.java Fri Aug 2 07:42:15 2013
@@ -17,34 +17,23 @@
package org.apache.commons.monitoring.repositories;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.configuration.Configuration;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.stopwatches.StopWatch;
-/**
- * The repository maintains a set of monitors and ensure unicity. It creates monitors on-demand
- * based on requested Keys. After creation, the counter Key cannot be updated.
- *
- * @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
- */
+import java.util.Map;
+
public interface Repository extends Iterable<Counter> {
static final Repository INSTANCE = Configuration.newInstance(Repository.class);
- /**
- * Retrieve or create a counter it's key
- */
Counter getCounter(Counter.Key key);
- /**
- * Reset the repository : all existing monitors are destroyed and data are lost.
- */
void clear();
- /**
- * Start a StopWatch to counter execution
- *
- * @param counter the counter associated with the process
- * @return a running StopWatch
- */
StopWatch start(Counter counter);
+
+ Map<Long, Double> getGaugeValues(Role role);
+
+ void stopGauge(Role role);
}
Modified: commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/stopwatches/CounterStopWatch.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/stopwatches/CounterStopWatch.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/stopwatches/CounterStopWatch.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/main/java/org/apache/commons/monitoring/stopwatches/CounterStopWatch.java Fri Aug 2 07:42:15 2013
@@ -17,11 +17,11 @@
package org.apache.commons.monitoring.stopwatches;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.counters.Counter;
import java.util.concurrent.atomic.AtomicInteger;
-import static org.apache.commons.monitoring.counter.Unit.Time.NANOSECOND;
+import static org.apache.commons.monitoring.counters.Unit.Time.NANOSECOND;
/**
* Simple implementation of StopWatch that estimate monitored element execution time.
Modified: commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/UnitTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/UnitTest.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/UnitTest.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/UnitTest.java Fri Aug 2 07:42:15 2013
@@ -19,11 +19,11 @@ package org.apache.commons.monitoring;
import org.junit.Test;
-import static org.apache.commons.monitoring.counter.Unit.Time.HOUR;
-import static org.apache.commons.monitoring.counter.Unit.Time.MICROSECOND;
-import static org.apache.commons.monitoring.counter.Unit.Time.MILLISECOND;
-import static org.apache.commons.monitoring.counter.Unit.Time.NANOSECOND;
-import static org.apache.commons.monitoring.counter.Unit.Time.SECOND;
+import static org.apache.commons.monitoring.counters.Unit.Time.HOUR;
+import static org.apache.commons.monitoring.counters.Unit.Time.MICROSECOND;
+import static org.apache.commons.monitoring.counters.Unit.Time.MILLISECOND;
+import static org.apache.commons.monitoring.counters.Unit.Time.NANOSECOND;
+import static org.apache.commons.monitoring.counters.Unit.Time.SECOND;
import static org.junit.Assert.assertEquals;
/**
Modified: commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counters/CounterBench.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counters/CounterBench.java?rev=1509574&r1=1509549&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counters/CounterBench.java (original)
+++ commons/sandbox/monitoring/trunk/core/src/test/java/org/apache/commons/monitoring/counters/CounterBench.java Fri Aug 2 07:42:15 2013
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.monitoring.counter;
+package org.apache.commons.monitoring.counters;
+import org.apache.commons.monitoring.Role;
import org.junit.Test;
import java.util.concurrent.ExecutorService;
Modified: commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredConnection.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredConnection.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredConnection.java (original)
+++ commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredConnection.java Fri Aug 2 07:42:15 2013
@@ -17,7 +17,7 @@
package org.apache.commons.monitoring.jdbc;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.stopwatches.CounterStopWatch;
import org.apache.commons.monitoring.stopwatches.StopWatch;
import org.apache.commons.monitoring.util.ClassLoaders;
Modified: commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredDataSource.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredDataSource.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredDataSource.java (original)
+++ commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredDataSource.java Fri Aug 2 07:42:15 2013
@@ -18,8 +18,8 @@
package org.apache.commons.monitoring.jdbc;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import javax.sql.DataSource;
Modified: commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredPreparedStatement.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredPreparedStatement.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredPreparedStatement.java (original)
+++ commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredPreparedStatement.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.jdbc;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.apache.commons.monitoring.stopwatches.StopWatch;
Modified: commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredStatement.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredStatement.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredStatement.java (original)
+++ commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoredStatement.java Fri Aug 2 07:42:15 2013
@@ -17,8 +17,8 @@
package org.apache.commons.monitoring.jdbc;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.apache.commons.monitoring.stopwatches.StopWatch;
Modified: commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoringDriver.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoringDriver.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoringDriver.java (original)
+++ commons/sandbox/monitoring/trunk/jdbc/src/main/java/org/apache/commons/monitoring/jdbc/MonitoringDriver.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.jdbc;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import java.sql.Connection;
Modified: commons/sandbox/monitoring/trunk/jdbc/src/test/java/org/apache/commons/monitoring/jdbc/HsqlDBTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/jdbc/src/test/java/org/apache/commons/monitoring/jdbc/HsqlDBTest.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/jdbc/src/test/java/org/apache/commons/monitoring/jdbc/HsqlDBTest.java (original)
+++ commons/sandbox/monitoring/trunk/jdbc/src/test/java/org/apache/commons/monitoring/jdbc/HsqlDBTest.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.jdbc;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.hsqldb.jdbcDriver;
import org.junit.BeforeClass;
Added: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/listener/CleanupListener.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/listener/CleanupListener.java?rev=1509574&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/listener/CleanupListener.java (added)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/listener/CleanupListener.java Fri Aug 2 07:42:15 2013
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.reporting.web.listener;
+
+import org.apache.commons.monitoring.reporting.web.plugin.jvm.CPUGauge;
+import org.apache.commons.monitoring.reporting.web.plugin.jvm.MemoryGauge;
+import org.apache.commons.monitoring.repositories.Repository;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+public class CleanupListener implements ServletContextListener {
+ @Override
+ public void contextInitialized(final ServletContextEvent sce) {
+ // no-op
+ }
+
+ @Override
+ public void contextDestroyed(final ServletContextEvent sce) {
+ Repository.INSTANCE.stopGauge(CPUGauge.CPU);
+ Repository.INSTANCE.stopGauge(MemoryGauge.MEMORY);
+ }
+}
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/PluginRepository.java Fri Aug 2 07:42:15 2013
@@ -24,7 +24,7 @@ import java.util.Collection;
import java.util.ServiceLoader;
import java.util.concurrent.CopyOnWriteArrayList;
-public class PluginRepository {
+public final class PluginRepository {
public static Collection<PluginInfo> PLUGIN_INFO = new CopyOnWriteArrayList<PluginInfo>();
static {
@@ -50,6 +50,10 @@ public class PluginRepository {
}
}
+ private PluginRepository() {
+ // no-op
+ }
+
public static class PluginInfo {
private final String url;
private final Handler handler;
Added: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/CPUGauge.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/CPUGauge.java?rev=1509574&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/CPUGauge.java (added)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/CPUGauge.java Fri Aug 2 07:42:15 2013
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.reporting.web.plugin.jvm;
+
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Unit;
+import org.apache.commons.monitoring.gauges.Gauge;
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.OperatingSystemMXBean;
+
+public class CPUGauge implements Gauge {
+ public static final Role CPU = new Role("CPU", Unit.UNARY);
+
+ private static final OperatingSystemMXBean SYSTEM_MX_BEAN = ManagementFactory.getOperatingSystemMXBean();
+
+ @Override
+ public Role role() {
+ return CPU;
+ }
+
+ @Override
+ public double value() {
+ return SYSTEM_MX_BEAN.getSystemLoadAverage();
+ }
+
+ @Override
+ public long period() {
+ return 60000;
+ }
+}
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMHandler.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMHandler.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMHandler.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMHandler.java Fri Aug 2 07:42:15 2013
@@ -29,8 +29,8 @@ public class JVMHandler extends HandlerR
protected Map<String,?> getVariables() {
return new MapBuilder<String, Object>()
- .set("cpu", Repository.INSTANCE.getCounter(JVMPlugin.CPU_KEY).getMean())
- .set("memory", Repository.INSTANCE.getCounter(JVMPlugin.MEMORY_KEY).getMean())
+ .set("cpu", Repository.INSTANCE.getGaugeValues(CPUGauge.CPU))
+ .set("memory", Repository.INSTANCE.getGaugeValues(MemoryGauge.MEMORY))
.build();
}
}
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMPlugin.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMPlugin.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMPlugin.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/JVMPlugin.java Fri Aug 2 07:42:15 2013
@@ -16,60 +16,10 @@
*/
package org.apache.commons.monitoring.reporting.web.plugin.jvm;
-import org.apache.commons.monitoring.configuration.Configuration;
-import org.apache.commons.monitoring.counter.Counter;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Unit;
import org.apache.commons.monitoring.reporting.web.handler.Handler;
import org.apache.commons.monitoring.reporting.web.plugin.Plugin;
-import org.apache.commons.monitoring.repositories.Repository;
-
-import java.lang.management.ManagementFactory;
-import java.lang.management.MemoryMXBean;
-import java.lang.management.OperatingSystemMXBean;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Timer;
-import java.util.TimerTask;
public class JVMPlugin implements Plugin {
- public static final Counter.Key CPU_KEY = new Counter.Key(new Role("cpu", Unit.Time.MILLISECOND), "CPU");
- public static final Counter.Key MEMORY_KEY = new Counter.Key(new Role("memory", Unit.Time.MILLISECOND), "Memory");
-
- private static final OperatingSystemMXBean SYSTEM_MX_BEAN = ManagementFactory.getOperatingSystemMXBean();
- private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean();
-
- private final Timer timer;
-
- // TODO: limit size + make it accessible to the jvm handler
- private final Collection<Double> cpuHistory = new ArrayList<Double>();
- private final Collection<Long> memHistory = new ArrayList<Long>();
-
- public JVMPlugin() {
- // TODO: save values in a sized list (= historical values)
- final Counter cpu = Repository.INSTANCE.getCounter(CPU_KEY);
- final Counter memory = Repository.INSTANCE.getCounter(MEMORY_KEY);
-
- timer = new Timer("monitoring-jvm", true);
- timer.scheduleAtFixedRate(new TimerTask() {
- @Override
- public void run() {
- final double systemLoadAverage = SYSTEM_MX_BEAN.getSystemLoadAverage();
- cpu.add(systemLoadAverage);
- cpuHistory.add(systemLoadAverage);
-
- final long used = MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed();
- memory.add(used);
- memHistory.add(used);
- }
- }, 0L, Long.parseLong(Configuration.getProperty(Configuration.COMMONS_MONITORING_PREFIX + "jvm.rate", "60000")));
- }
-
- @Configuration.Destroying
- public void stop() {
- timer.cancel();
- }
-
@Override
public String name() {
return "JVM";
Added: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/MemoryGauge.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/MemoryGauge.java?rev=1509574&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/MemoryGauge.java (added)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/jvm/MemoryGauge.java Fri Aug 2 07:42:15 2013
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.monitoring.reporting.web.plugin.jvm;
+
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Unit;
+import org.apache.commons.monitoring.gauges.Gauge;
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryMXBean;
+
+public class MemoryGauge implements Gauge {
+ public static final Role MEMORY = new Role("Memory", Unit.UNARY);
+
+ private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean();
+
+ @Override
+ public Role role() {
+ return MEMORY;
+ }
+
+ @Override
+ public double value() {
+ return MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed();
+ }
+
+ @Override
+ public long period() {
+ return 60000;
+ }
+}
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/CSVFormat.java Fri Aug 2 07:42:15 2013
@@ -17,7 +17,7 @@
package org.apache.commons.monitoring.reporting.web.plugin.report.format;
import org.apache.commons.monitoring.configuration.Configuration;
-import org.apache.commons.monitoring.counter.Unit;
+import org.apache.commons.monitoring.counters.Unit;
import java.io.PrintWriter;
import java.util.Collection;
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/HTMLFormat.java Fri Aug 2 07:42:15 2013
@@ -16,7 +16,7 @@
*/
package org.apache.commons.monitoring.reporting.web.plugin.report.format;
-import org.apache.commons.monitoring.counter.Unit;
+import org.apache.commons.monitoring.counters.Unit;
import org.apache.commons.monitoring.reporting.web.template.MapBuilder;
import org.apache.commons.monitoring.reporting.web.template.Templates;
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/JSONFormat.java Fri Aug 2 07:42:15 2013
@@ -17,7 +17,7 @@
package org.apache.commons.monitoring.reporting.web.plugin.report.format;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import java.io.PrintWriter;
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MapFormat.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.reporting.web.plugin.report.format;
-import org.apache.commons.monitoring.counter.Counter;
-import org.apache.commons.monitoring.counter.Unit;
+import org.apache.commons.monitoring.counters.Counter;
+import org.apache.commons.monitoring.counters.Unit;
import org.apache.commons.monitoring.repositories.Repository;
import java.util.ArrayList;
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/MetricData.java Fri Aug 2 07:42:15 2013
@@ -17,7 +17,7 @@
package org.apache.commons.monitoring.reporting.web.plugin.report.format;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.counters.Counter;
/**
* An enum to acces data from a Counter based on the property name. Can be used to avoid reflection on Counter
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/java/org/apache/commons/monitoring/reporting/web/plugin/report/format/XMLFormat.java Fri Aug 2 07:42:15 2013
@@ -17,7 +17,7 @@
package org.apache.commons.monitoring.reporting.web.plugin.report.format;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import java.io.PrintWriter;
Added: commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.gauges.Gauge
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.gauges.Gauge?rev=1509574&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.gauges.Gauge (added)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.gauges.Gauge Fri Aug 2 07:42:15 2013
@@ -0,0 +1,2 @@
+org.apache.commons.monitoring.reporting.web.plugin.jvm.CPUGauge
+org.apache.commons.monitoring.reporting.web.plugin.jvm.MemoryGauge
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/resources/META-INF/services/org.apache.commons.monitoring.reporting.web.plugin.Plugin Fri Aug 2 07:42:15 2013
@@ -1,2 +1,3 @@
org.apache.commons.monitoring.reporting.web.plugin.report.ReportPlugin
org.apache.commons.monitoring.reporting.web.plugin.jmx.JMXPlugin
+org.apache.commons.monitoring.reporting.web.plugin.jvm.JVMPlugin
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jvm/jvm.vm
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jvm/jvm.vm?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jvm/jvm.vm (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/resources/templates/jvm/jvm.vm Fri Aug 2 07:42:15 2013
@@ -14,5 +14,26 @@
See the License for the specific language governing permissions and
limitations under the License.
*#
-Memory mean: $memory
-CPU mean: $cpu
+#macro(printMap $name $map)
+ <section>
+ <div class="page-header">
+ <h2>$name:</h2>
+ </div>
+ <table class="table table-bordered">
+ <thead>
+ <tr><td>Time (ns)</td><td>Value</td></tr>
+ </thead>
+ <tbody>
+ #foreach ($entry in $map.entrySet())
+ <tr>
+ <td>$entry.key</td>
+ <td>$entry.value</td>
+ </tr>
+ #end
+ </tbody>
+ </table>
+ </section>
+#end
+
+#printMap("Memory", $memory)
+#printMap("CPU", $cpu)
Modified: commons/sandbox/monitoring/trunk/reporting/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/main/webapp/WEB-INF/web.xml?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/main/webapp/WEB-INF/web.xml (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/main/webapp/WEB-INF/web.xml Fri Aug 2 07:42:15 2013
@@ -20,6 +20,10 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
+ <listener>
+ <listener-class>org.apache.commons.monitoring.reporting.web.listener.CleanupListener</listener-class>
+ </listener>
+
<filter>
<filter-name>Monitoring</filter-name>
<filter-class>org.apache.commons.monitoring.reporting.web.MonitoringController</filter-class>
@@ -29,4 +33,5 @@
<filter-name>Monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
+
</web-app>
Modified: commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java (original)
+++ commons/sandbox/monitoring/trunk/reporting/src/test/java/org/apache/commons/monitoring/reporting/FormatsTest.java Fri Aug 2 07:42:15 2013
@@ -17,8 +17,8 @@
package org.apache.commons.monitoring.reporting;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.reporting.web.plugin.report.format.CSVFormat;
import org.apache.commons.monitoring.reporting.web.plugin.report.format.Format;
import org.apache.commons.monitoring.repositories.Repository;
Modified: commons/sandbox/monitoring/trunk/spring/src/test/java/org/apache/commons/monitoring/spring/SpringMonitoringTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/spring/src/test/java/org/apache/commons/monitoring/spring/SpringMonitoringTest.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/spring/src/test/java/org/apache/commons/monitoring/spring/SpringMonitoringTest.java (original)
+++ commons/sandbox/monitoring/trunk/spring/src/test/java/org/apache/commons/monitoring/spring/SpringMonitoringTest.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.spring;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.apache.commons.monitoring.spring.service.MyService;
import org.junit.Test;
Modified: commons/sandbox/monitoring/trunk/src/site/xdoc/web.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/site/xdoc/web.xml?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/site/xdoc/web.xml (original)
+++ commons/sandbox/monitoring/trunk/src/site/xdoc/web.xml Fri Aug 2 07:42:15 2013
@@ -111,7 +111,7 @@
(milliseconds),
<tt>s</tt>
(seconds) ... Please refer to the
- <code>org.apache.commons.monitoring.counter.Unit</code>
+ <code>org.apache.commons.monitoring.counters.Unit</code>
javadoc for more infos on units.
</li>
</ul>
Modified: commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/jsp/StartTag.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/jsp/StartTag.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/jsp/StartTag.java (original)
+++ commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/jsp/StartTag.java Fri Aug 2 07:42:15 2013
@@ -17,8 +17,8 @@
package org.apache.commons.monitoring.web.jsp;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.apache.commons.monitoring.stopwatches.StopWatch;
Modified: commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/servlet/MonitoringFilter.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/servlet/MonitoringFilter.java?rev=1509574&r1=1509573&r2=1509574&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/servlet/MonitoringFilter.java (original)
+++ commons/sandbox/monitoring/trunk/web/src/main/java/org/apache/commons/monitoring/web/servlet/MonitoringFilter.java Fri Aug 2 07:42:15 2013
@@ -16,8 +16,8 @@
*/
package org.apache.commons.monitoring.web.servlet;
-import org.apache.commons.monitoring.counter.Role;
-import org.apache.commons.monitoring.counter.Counter;
+import org.apache.commons.monitoring.Role;
+import org.apache.commons.monitoring.counters.Counter;
import org.apache.commons.monitoring.repositories.Repository;
import org.apache.commons.monitoring.stopwatches.StopWatch;