You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2008/04/15 11:58:31 UTC
svn commit: r648201 - in /commons/sandbox/monitoring/trunk/src:
main/java/org/apache/commons/monitoring/
main/java/org/apache/commons/monitoring/aop/
main/java/org/apache/commons/monitoring/impl/monitors/
main/java/org/apache/commons/monitoring/impl/st...
Author: nicolas
Date: Tue Apr 15 02:58:28 2008
New Revision: 648201
URL: http://svn.apache.org/viewvc?rev=648201&view=rev
Log:
new "Role" concept to describe a statValue in a monitor. Includes name and Unit as a prototype for create-on-demand
Added:
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java (with props)
Modified:
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Monitor.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StatValue.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Unit.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/AbstractMonitor.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CompositeValuesMonitor.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CreateValuesOnDemandMonitor.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/stopwatches/DefaultStopWatch.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/AbstractStatValue.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeCounter.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeGauge.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeCounter.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeGauge.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/AbstractRenderer.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/FlotRenderer.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/HtmlRenderer.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/JsonRenderer.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/OptionsSupport.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/Renderer.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/TxtRenderer.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/XmlRenderer.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/web/NiceHtmlRenderer.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/MonitoringTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/SecondaryReposioryTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/reporting/RendererTest.java
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Monitor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Monitor.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Monitor.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Monitor.java Tue Apr 15 02:58:28 2008
@@ -53,10 +53,13 @@
public interface Monitor
{
/** default role key for code performances */
- String PERFORMANCES = "performances";
+ Role<Counter> PERFORMANCES = new Role<Counter>( "performances", Unit.NANOS );
/** default role for multi-thread concurrency */
- String CONCURRENCY = "concurrency";
+ Role<Gauge> CONCURRENCY = new Role<Gauge>( "concurrency", Unit.UNARY );
+
+ /** default Role for the invocation failure counter */
+ Role<Counter> FAILURES = new Role<Counter>( "failures", Unit.UNARY );
/**
* @return the monitor key
@@ -64,7 +67,7 @@
Key getKey();
/**
- * Get a Counter
+ * Retrieve a Counter
*
* @param role a unique identifier for a Counter in the monitor
* @param unit the data unit to count
@@ -73,7 +76,15 @@
Counter getCounter( String role );
/**
- * Get a Gauge
+ * Retrieve or create a Counter in the monitor
+ *
+ * @param role the Counter role in the monitor
+ * @return the Counter
+ */
+ Counter getCounter( Role<Counter> role );
+
+ /**
+ * Retrieve a Gauge in the monitor
*
* @param role a unique identifier for a Gauge in the monitor
* @return the Gauge
@@ -81,6 +92,14 @@
Gauge getGauge( String role );
/**
+ * Retrieve or create a Gauge in the monitor
+ *
+ * @param role the gauge role in the monitor
+ * @return the Gauge
+ */
+ Gauge getGauge( Role<Gauge> role );
+
+ /**
* Retrieve a StatValue.
*
* @param role a unique identifier for a StatValue in the monitor
@@ -89,10 +108,18 @@
StatValue getValue( String role );
/**
+ * Retrieve a StatValue in the monitor
+ *
+ * @param role the StatValue role in the monitor
+ * @return the StatValue
+ */
+ <T extends StatValue> T getValue( Role<T> role );
+
+ /**
*
* @return an unmodifiable collection of registered statValues roles
*/
- Collection<String> getRoles();
+ Collection<Role> getRoles();
/**
*
Added: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java?rev=648201&view=auto
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java (added)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java Tue Apr 15 02:58:28 2008
@@ -0,0 +1,119 @@
+/*
+ * 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;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class Role<T extends StatValue> implements Comparable<Role>
+{
+ private String name;
+
+ private Unit unit;
+
+ private static final Map<String, Role> ROLES = new ConcurrentHashMap<String, Role>();
+
+ public static Role<? extends StatValue> getRole( String name )
+ {
+ return ROLES.get( name );
+ }
+
+ public Role( String name, Unit unit )
+ {
+ super();
+ if (name == null)
+ {
+ throw new IllegalArgumentException( "A role name is required" );
+ }
+ if (unit == null)
+ {
+ throw new IllegalArgumentException( "A role unit is required" );
+ }
+ this.name = name;
+ this.unit = unit;
+ ROLES.put( name, this );
+ }
+
+ /**
+ * @return the role
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @return the unit
+ */
+ public Unit getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ( ( name == null ) ? 0 : name.hashCode() );
+ result = prime * result + ( ( unit == null ) ? 0 : unit.hashCode() );
+ return result;
+ }
+
+ /**
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ return true;
+ if ( obj == null )
+ return false;
+ if ( getClass() != obj.getClass() )
+ return false;
+ final Role other = (Role) obj;
+ if ( name == null )
+ {
+ if ( other.name != null )
+ return false;
+ }
+ else if ( !name.equals( other.name ) )
+ return false;
+ if ( unit == null )
+ {
+ if ( other.unit != null )
+ return false;
+ }
+ else if ( !unit.equals( other.unit ) )
+ return false;
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public int compareTo( Role o )
+ {
+ return name.compareTo( o.name );
+ }
+
+}
Propchange: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Role.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StatValue.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StatValue.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StatValue.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StatValue.java Tue Apr 15 02:58:28 2008
@@ -79,7 +79,7 @@
/**
* @return the role for this value in the monitor
*/
- String getRole();
+ Role<? extends StatValue> getRole();
/**
* @return the (primary) data unit
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Unit.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Unit.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Unit.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/Unit.java Tue Apr 15 02:58:28 2008
@@ -20,6 +20,8 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
/**
* Units allow monitored data to have get typed. A primary unit is the
@@ -53,7 +55,16 @@
/** unit for basic item counters & gauges */
- public static final Unit NONE = new Unit( "" );
+ // "BILLION" does not have same signification depending on state (10^12 or 10^9)
+ // we use International system of unit names to avoid confusion
+ // @see http://en.wikipedia.org/wiki/SI
+ public static final Unit UNARY = new Unit( "" );
+ public static final Unit DECA = new Unit( "da", UNARY, 10 );
+ public static final Unit HECTO = new Unit( "h", DECA, 10 );
+ public static final Unit KILO = new Unit( "k", HECTO, 10 );
+ public static final Unit MEGA = new Unit( "M", KILO, 1000 );
+ public static final Unit GIGA = new Unit( "G", MEGA, 1000 );
+ public static final Unit TERA = new Unit( "T", GIGA, 1000 );
private final String name;
@@ -62,6 +73,8 @@
private Unit primary;
private List<Unit> derived;
+
+ public Set<Unit> primaryUnits = new CopyOnWriteArraySet<Unit>();
public Unit getDerived( String name )
{
@@ -91,6 +104,7 @@
this.scale = 1;
this.derived = new ArrayList<Unit>();
this.derived.add( this );
+ primaryUnits.add( this );
}
/**
@@ -141,6 +155,41 @@
public String toString()
{
return name;
+ }
+
+ /**
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ( ( name == null ) ? 0 : name.hashCode() );
+ return result;
+ }
+
+ /**
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ return true;
+ if ( obj == null )
+ return false;
+ if ( getClass() != obj.getClass() )
+ return false;
+ final Unit other = (Unit) obj;
+ if ( name == null )
+ {
+ if ( other.name != null )
+ return false;
+ }
+ else if ( !name.equals( other.name ) )
+ return false;
+ return true;
}
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/aop/AbstractPerformanceInterceptor.java Tue Apr 15 02:58:28 2008
@@ -35,9 +35,6 @@
public abstract class AbstractPerformanceInterceptor<T>
{
- /** Role for the invocation failure counter */
- private static final String FAILURE = "failure";
-
protected Repository repository;
protected String category;
@@ -112,7 +109,7 @@
{
if ( error != null )
{
- monitor.getCounter( FAILURE ).add( duration, Unit.NANOS );
+ monitor.getCounter( Monitor.FAILURES ).add( duration, Unit.NANOS );
}
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/AbstractMonitor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/AbstractMonitor.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/AbstractMonitor.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/AbstractMonitor.java Tue Apr 15 02:58:28 2008
@@ -25,6 +25,7 @@
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Gauge;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
/**
@@ -35,14 +36,14 @@
public abstract class AbstractMonitor implements Monitor
{
- private final ConcurrentMap<String, StatValue> values;
+ private final ConcurrentMap<Role, StatValue> values;
private final Key key;
public AbstractMonitor( Key key )
{
super();
this.key = key;
- this.values = new ConcurrentHashMap<String, StatValue>();
+ this.values = new ConcurrentHashMap<Role, StatValue>();
}
/**
@@ -61,7 +62,12 @@
return values.get( role );
}
- public final Collection<String> getRoles()
+ public final <T extends StatValue> T getValue( Role<T> role )
+ {
+ return (T) values.get( role );
+ }
+
+ public final Collection<Role> getRoles()
{
return Collections.unmodifiableCollection( values.keySet() );
}
@@ -96,14 +102,24 @@
}
}
+ public Counter getCounter( Role<Counter> role )
+ {
+ return getValue( role );
+ }
+
public Counter getCounter( String role )
{
- return (Counter) getValue( role );
+ return getCounter( (Role<Counter>) Role.getRole( role ) );
+ }
+
+ public Gauge getGauge( Role<Gauge> role )
+ {
+ return getValue( role );
}
public Gauge getGauge( String role )
{
- return (Gauge) getValue( role );
+ return getGauge( (Role<Gauge>) Role.getRole( role ) );
}
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CompositeValuesMonitor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CompositeValuesMonitor.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CompositeValuesMonitor.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CompositeValuesMonitor.java Tue Apr 15 02:58:28 2008
@@ -19,6 +19,7 @@
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Gauge;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.impl.values.CompositeCounter;
import org.apache.commons.monitoring.impl.values.CompositeGauge;
@@ -38,13 +39,13 @@
}
@Override
- protected Counter newCounterInstance( String role )
+ protected Counter newCounterInstance( Role<Counter> role )
{
return new CompositeCounter( role );
}
@Override
- protected Gauge newGaugeInstance( String role )
+ protected Gauge newGaugeInstance( Role<Gauge> role )
{
return new CompositeGauge( role );
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CreateValuesOnDemandMonitor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CreateValuesOnDemandMonitor.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CreateValuesOnDemandMonitor.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/monitors/CreateValuesOnDemandMonitor.java Tue Apr 15 02:58:28 2008
@@ -19,6 +19,7 @@
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Gauge;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.impl.values.ThreadSafeCounter;
import org.apache.commons.monitoring.impl.values.ThreadSafeGauge;
@@ -42,9 +43,9 @@
* Retrieve a Counter or create a new one for the role
*/
@Override
- public Counter getCounter( String role )
+ public Counter getCounter( Role<Counter> role )
{
- Counter counter = (Counter) getValue( role );
+ Counter counter = getValue( role );
if ( counter != null )
{
return counter;
@@ -57,7 +58,7 @@
/**
* Create a new Counter instance
*/
- protected Counter newCounterInstance( String role )
+ protected Counter newCounterInstance( Role<Counter> role )
{
return new ThreadSafeCounter( role );
}
@@ -66,9 +67,9 @@
* Retrieve a Gauge or create a new one for the role
*/
@Override
- public Gauge getGauge( String role )
+ public Gauge getGauge( Role<Gauge> role )
{
- Gauge gauge = (Gauge) getValue( role );
+ Gauge gauge = getValue( role );
if ( gauge != null )
{
return gauge;
@@ -81,7 +82,7 @@
/**
* Create a new Gauge instance
*/
- protected Gauge newGaugeInstance( String role )
+ protected Gauge newGaugeInstance( Role<Gauge> role )
{
return new ThreadSafeGauge( role );
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/stopwatches/DefaultStopWatch.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/stopwatches/DefaultStopWatch.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/stopwatches/DefaultStopWatch.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/stopwatches/DefaultStopWatch.java Tue Apr 15 02:58:28 2008
@@ -27,7 +27,8 @@
*
* @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
*/
-public class DefaultStopWatch implements StopWatch
+public class DefaultStopWatch
+ implements StopWatch
{
/** Time the probe was started */
private final long startedAt;
@@ -62,12 +63,13 @@
startedAt = nanotime();
if ( monitor != null )
{
- monitor.getGauge( Monitor.CONCURRENCY ).increment(Unit.NONE);
+ monitor.getGauge( Monitor.CONCURRENCY ).increment( Unit.UNARY );
}
}
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#getElapsedTime()
*/
public long getElapsedTime()
@@ -85,6 +87,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#pause()
*/
public void pause()
@@ -98,6 +101,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#resume()
*/
public void resume()
@@ -112,6 +116,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#stop()
*/
public void stop()
@@ -127,7 +132,7 @@
stoped = true;
if ( monitor != null )
{
- monitor.getGauge( Monitor.CONCURRENCY ).decrement(Unit.NONE);
+ monitor.getGauge( Monitor.CONCURRENCY ).decrement( Unit.UNARY );
monitor.getCounter( Monitor.PERFORMANCES ).add( getElapsedTime(), Unit.NANOS );
}
}
@@ -135,6 +140,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#stop(boolean)
*/
public void stop( boolean canceled )
@@ -151,6 +157,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#cancel()
*/
public void cancel()
@@ -160,7 +167,7 @@
stoped = true;
if ( monitor != null )
{
- monitor.getGauge( Monitor.CONCURRENCY ).decrement(Unit.NONE);
+ monitor.getGauge( Monitor.CONCURRENCY ).decrement( Unit.UNARY );
}
}
}
@@ -203,6 +210,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#isStoped()
*/
public boolean isStoped()
@@ -212,6 +220,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#isPaused()
*/
public boolean isPaused()
@@ -245,6 +254,7 @@
/**
* {@inheritDoc}
+ *
* @see org.apache.commons.monitoring.StopWatch#getMonitor()
*/
public Monitor getMonitor()
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/AbstractStatValue.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/AbstractStatValue.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/AbstractStatValue.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/AbstractStatValue.java Tue Apr 15 02:58:28 2008
@@ -21,6 +21,7 @@
import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Unit;
@@ -30,12 +31,12 @@
*
* @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
*/
-public abstract class AbstractStatValue
+public abstract class AbstractStatValue<T extends StatValue>
implements StatValue
{
private Monitor monitor;
- private String role;
+ private Role<T> role;
private int hits;
@@ -47,10 +48,11 @@
private List<Listener> listeners = new CopyOnWriteArrayList<Listener>();
- public AbstractStatValue( String role )
+ public AbstractStatValue( Role<T> role )
{
super();
this.role = role;
+ this.unit = role.getUnit();
}
public void addListener( Listener listener )
@@ -65,11 +67,6 @@
protected long normalize( long value, Unit unit )
{
- if ( this.unit == null )
- {
- // Affect the statValue unit on first use
- this.unit = unit.getPrimary();
- }
if ( !this.unit.isCompatible( unit ) )
{
throw new IllegalArgumentException( "role " + role + " is incompatible with unit " + unit );
@@ -152,7 +149,7 @@
return monitor;
}
- public String getRole()
+ public Role<T> getRole()
{
return role;
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeCounter.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeCounter.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeCounter.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeCounter.java Tue Apr 15 02:58:28 2008
@@ -23,6 +23,8 @@
import org.apache.commons.monitoring.Composite;
import org.apache.commons.monitoring.Counter;
+import org.apache.commons.monitoring.Gauge;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.Unit;
/**
@@ -44,7 +46,7 @@
return Collections.unmodifiableCollection( secondary );
}
- public CompositeCounter( String role )
+ public CompositeCounter( Role<Counter> role )
{
super( role );
this.secondary = new CopyOnWriteArrayList<Counter>();
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeGauge.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeGauge.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeGauge.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/CompositeGauge.java Tue Apr 15 02:58:28 2008
@@ -23,6 +23,7 @@
import org.apache.commons.monitoring.Composite;
import org.apache.commons.monitoring.Gauge;
+import org.apache.commons.monitoring.Role;
/**
* A composite implementation of {@link Gauge} that delegates to a primary
@@ -45,7 +46,7 @@
return Collections.unmodifiableCollection( secondary );
}
- public CompositeGauge( String role )
+ public CompositeGauge( Role<Gauge> role )
{
super( role );
this.secondary = new LinkedList<Gauge>();
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeCounter.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeCounter.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeCounter.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeCounter.java Tue Apr 15 02:58:28 2008
@@ -18,6 +18,7 @@
package org.apache.commons.monitoring.impl.values;
import org.apache.commons.monitoring.Counter;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.Unit;
/**
@@ -27,7 +28,7 @@
* @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
*/
public class ThreadSafeCounter
- extends AbstractStatValue
+ extends AbstractStatValue<Counter>
implements Counter
{
@@ -37,7 +38,7 @@
private long sumOfSquares;
- public ThreadSafeCounter( String role )
+ public ThreadSafeCounter( Role<Counter> role )
{
super( role );
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeGauge.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeGauge.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeGauge.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/values/ThreadSafeGauge.java Tue Apr 15 02:58:28 2008
@@ -18,6 +18,7 @@
package org.apache.commons.monitoring.impl.values;
import org.apache.commons.monitoring.Gauge;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.Unit;
/**
@@ -30,7 +31,7 @@
* @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
*/
public class ThreadSafeGauge
- extends AbstractStatValue
+ extends AbstractStatValue<Gauge>
implements Gauge
{
private long value;
@@ -44,7 +45,7 @@
// Use a double so that unset can be detected as "Not a Number"
private double firstUse = Double.NaN;
- public ThreadSafeGauge( String role )
+ public ThreadSafeGauge( Role<Gauge> role )
{
super( role );
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/AbstractRenderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/AbstractRenderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/AbstractRenderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/AbstractRenderer.java Tue Apr 15 02:58:28 2008
@@ -29,6 +29,7 @@
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.Monitor.Key;
@@ -75,8 +76,7 @@
protected void prepareRendering( Context ctx, Collection<Monitor> monitors, Options options )
{
- List<String> roles = getRoles( monitors, options );
- ctx.put( ROLES, roles );
+ ctx.put( ROLES, getRoles( monitors, options ) );
ctx.put( MONITORS, monitors );
}
@@ -110,15 +110,15 @@
@SuppressWarnings( "unchecked" )
protected void renderStatValues( Context ctx, Monitor monitor, Options options )
{
- List<String> roles = (List<String>) ctx.get( ROLES );
+ List<Role> roles = (List<Role>) ctx.get( ROLES );
renderStatValues( ctx, monitor, options, roles );
}
- protected void renderStatValues( Context ctx, Monitor monitor, Options options, List<String> roles )
+ protected void renderStatValues( Context ctx, Monitor monitor, Options options, List<Role> roles )
{
- for ( Iterator<String> iterator = roles.iterator(); iterator.hasNext(); )
+ for ( Iterator<Role> iterator = roles.iterator(); iterator.hasNext(); )
{
- String role = iterator.next();
+ Role role = iterator.next();
StatValue value = monitor.getValue( role );
if ( value != null )
{
@@ -141,7 +141,7 @@
* @param ctx
* @param role
*/
- protected void renderMissingValue( Context ctx, String role )
+ protected void renderMissingValue( Context ctx, Role role )
{
// Nop
}
@@ -169,7 +169,7 @@
protected void render( Context ctx, StatValue value, Options options )
{
- String role = value.getRole();
+ Role role = value.getRole();
if ( value instanceof Counter )
{
Counter counter = (Counter) value;
@@ -276,14 +276,14 @@
* @param monitors
* @return
*/
- protected List<String> getRoles( Collection<Monitor> monitors, Options options )
+ protected List<Role> getRoles( Collection<Monitor> monitors, Options options )
{
- Set<String> roles = new HashSet<String>();
+ Set<Role> roles = new HashSet<Role>();
for ( Monitor monitor : monitors )
{
if ( options.render( monitor ) )
{
- for ( String role : monitor.getRoles() )
+ for ( Role role : monitor.getRoles() )
{
if ( options.renderRole( role ) )
{
@@ -292,8 +292,8 @@
}
}
}
- List<String> sorted = new ArrayList<String>( roles );
- Collections.sort( sorted );
+ List<Role> sorted = new ArrayList<Role>( roles );
+ Collections.<Role>sort( sorted );
return sorted;
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/FlotRenderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/FlotRenderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/FlotRenderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/FlotRenderer.java Tue Apr 15 02:58:28 2008
@@ -23,6 +23,7 @@
import java.util.List;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Monitor.Key;
import org.apache.commons.monitoring.listeners.Detachable;
@@ -72,9 +73,9 @@
ctx.print( "$.plot($('#placeholder'), [" );
int color = 0;
- for ( Iterator<String> it = ( (Collection) ctx.get( ROLES ) ).iterator(); it.hasNext(); )
+ for ( Iterator<Role> it = ( (Collection<Role>) ctx.get( ROLES ) ).iterator(); it.hasNext(); )
{
- String role = it.next();
+ Role role = it.next();
List<String> attribues = new ArrayList<String>();
for ( String attribute : ATTRIBUTES )
{
@@ -90,7 +91,7 @@
final String attribute = attr.next();
ctx.print( "{ color: " + color );
ctx.print( ", label: \"" );
- ctx.print( role + "." + attribute );
+ ctx.print( role.getName() + "." + attribute );
ctx.print( "\", data: " );
ctx.print( "[" );
int x = 0;
@@ -113,7 +114,7 @@
render( ctx, value, new OptionsSupport()
{
@Override
- public boolean render( String role, String string )
+ public boolean render( Role role, String string )
{
boolean render = string.equals( attribute );
if ( render )
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/HtmlRenderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/HtmlRenderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/HtmlRenderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/HtmlRenderer.java Tue Apr 15 02:58:28 2008
@@ -24,6 +24,7 @@
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.Monitor.Key;
@@ -35,6 +36,7 @@
public class HtmlRenderer
extends AbstractRenderer
{
+ protected static final String COLUMNS = "columns";
public HtmlRenderer()
{
@@ -94,7 +96,7 @@
@SuppressWarnings( "unchecked" )
protected void tableHead( Context ctx, Collection<Monitor> monitors, Options options )
{
- Collection<String> roles = (Collection<String>) ctx.get( "roles" );
+ Collection<Role> roles = (Collection<Role>) ctx.get( ROLES );
Map<String, Integer> columns = new HashMap<String, Integer>();
ctx.println( "<thead><tr>" );
@@ -107,7 +109,7 @@
ctx.println( "<th rowspan='2'>name</th>" );
ctx.println( "<th rowspan='2'>category</th>" );
ctx.println( "<th rowspan='2'>subsystem</th>" );
- for ( String role : roles )
+ for ( Role role : roles )
{
// Search the first monitor that has a StatValue for the role...
for ( Monitor monitor : monitors )
@@ -130,14 +132,14 @@
ctx.print( "<td colspan='" );
ctx.print( String.valueOf( span ) );
ctx.print( "'>" );
- ctx.print( value.getRole() );
+ ctx.print( value.getRole().getName() );
Unit unit = options.unitFor( value );
if ( unit != null && unit.getName().length() > 0 )
{
renderUnit( ctx, unit );
}
ctx.print( "</td>" );
- columns.put( role, span );
+ columns.put( role.getName(), span );
break;
}
}
@@ -151,7 +153,7 @@
ctx.println( "<th>to</th>" );
}
- for ( String role : roles )
+ for ( Role role : roles )
{
for ( Monitor monitor : monitors )
{
@@ -173,7 +175,7 @@
}
}
ctx.println( "</tr></thead>" );
- ctx.put( "columns", columns );
+ ctx.put( COLUMNS, columns );
}
protected void writeColumnHead( Context ctx, Options options, StatValue value, String attribute )
@@ -241,9 +243,9 @@
*/
@SuppressWarnings("unchecked")
@Override
- protected void renderMissingValue( Context ctx, String role )
+ protected void renderMissingValue( Context ctx, Role role )
{
- Map<String, Integer> columns = (Map<String, Integer>) ctx.get( "columns" );
+ Map<String, Integer> columns = (Map<String, Integer>) ctx.get( COLUMNS );
ctx.print( "<td colspan='" );
ctx.print( String.valueOf( columns.get( role ) ) );
ctx.print( "'>-</td>" );
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/JsonRenderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/JsonRenderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/JsonRenderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/JsonRenderer.java Tue Apr 15 02:58:28 2008
@@ -22,6 +22,7 @@
import java.util.List;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Monitor.Key;
import org.apache.commons.monitoring.listeners.Detachable;
@@ -109,7 +110,7 @@
* org.apache.commons.monitoring.reporting.Renderer.Options)
*/
@Override
- protected void renderStatValues( Context ctx, Monitor monitor, Options options, List<String> roles )
+ protected void renderStatValues( Context ctx, Monitor monitor, Options options, List<Role> roles )
{
if ( roles.size() > 0 )
{
@@ -121,7 +122,7 @@
@Override
public void render( Context ctx, StatValue value, Options options )
{
- ctx.print( value.getRole() );
+ ctx.print( value.getRole().getName() );
ctx.print( ":{" );
super.render( ctx, value, options );
ctx.print( "}" );
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/OptionsSupport.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/OptionsSupport.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/OptionsSupport.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/OptionsSupport.java Tue Apr 15 02:58:28 2008
@@ -25,6 +25,7 @@
import java.util.Locale;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Unit;
@@ -41,12 +42,12 @@
return true;
}
- public boolean render( String role, String attribute )
+ public boolean render( Role role, String attribute )
{
return true;
}
- public boolean renderRole( String role )
+ public boolean renderRole( Role role )
{
return true;
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/Renderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/Renderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/Renderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/Renderer.java Tue Apr 15 02:58:28 2008
@@ -23,6 +23,7 @@
import java.util.Collection;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Unit;
@@ -33,7 +34,7 @@
*/
public interface Renderer
{
- Collection<String> DEFAULT_ROLES = Arrays.asList( new String[] { Monitor.CONCURRENCY, Monitor.PERFORMANCES } );
+ Collection<Role> DEFAULT_ROLES = Arrays.asList( new Role[] { Monitor.CONCURRENCY, Monitor.PERFORMANCES } );
String getContentType();
@@ -43,9 +44,9 @@
{
boolean render( Monitor object );
- boolean render( String role, String attribute );
+ boolean render( Role role, String attribute );
- boolean renderRole( String role );
+ boolean renderRole( Role role );
Unit unitFor( StatValue value );
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/TxtRenderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/TxtRenderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/TxtRenderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/TxtRenderer.java Tue Apr 15 02:58:28 2008
@@ -58,7 +58,7 @@
@Override
public void render( Context ctx, StatValue value, Options options )
{
- ctx.println( value.getRole() );
+ ctx.println( value.getRole().getName() );
super.render( ctx, value, options );
ctx.println( "" );
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/XmlRenderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/XmlRenderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/XmlRenderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/XmlRenderer.java Tue Apr 15 02:58:28 2008
@@ -99,7 +99,7 @@
public void render( Context ctx, StatValue value, Options options )
{
ctx.print( "<" );
- ctx.print( value.getRole() );
+ ctx.print( value.getRole().getName() );
super.render( ctx, value, options );
ctx.print( "/>" );
}
Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/web/NiceHtmlRenderer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/web/NiceHtmlRenderer.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/web/NiceHtmlRenderer.java (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/reporting/web/NiceHtmlRenderer.java Tue Apr 15 02:58:28 2008
@@ -19,6 +19,7 @@
import java.util.Map;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.reporting.Context;
import org.apache.commons.monitoring.reporting.HtmlRenderer;
@@ -94,9 +95,9 @@
@SuppressWarnings("unchecked")
@Override
- protected void renderMissingValue( Context ctx, String role )
+ protected void renderMissingValue( Context ctx, Role role )
{
- Map<String, Integer> columns = (Map<String, Integer>) ctx.get( "columns" );
+ Map<String, Integer> columns = (Map<String, Integer>) ctx.get( COLUMNS );
ctx.print( "<td class='not-applicable' colspan='" );
ctx.print( String.valueOf( columns.get( role ) ) );
ctx.print( "'>-</td>" );
Modified: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/MonitoringTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/MonitoringTest.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/MonitoringTest.java (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/MonitoringTest.java Tue Apr 15 02:58:28 2008
@@ -31,6 +31,10 @@
public class MonitoringTest
extends TestCase
{
+ public final static Role<Counter> COUNTER = new Role<Counter>( "COUNTER", Unit.UNARY );
+
+ public final static Role<Gauge> GAUGE = new Role<Gauge>( "GAUGE", Unit.UNARY );
+
public void testStopWatchConcurrencyMonitoring()
throws Exception
@@ -69,8 +73,8 @@
for ( int j = 0; j < loops; j++ )
{
Monitor monitor = Monitoring.getMonitor( "MonitoringTest.testMultiThreading", "test", "utils" );
- monitor.getCounter( "COUNTER" ).add( 1, Unit.NONE );
- monitor.getGauge( "GAUGE" ).increment(Unit.NONE);
+ monitor.getCounter( COUNTER ).add( 1, Unit.UNARY );
+ monitor.getGauge( GAUGE ).increment(Unit.UNARY);
}
try
{
@@ -90,11 +94,11 @@
Monitor monitor = Monitoring.getMonitor( "MonitoringTest.testMultiThreading", "test", "utils" );
- Counter counter = monitor.getCounter( "COUNTER" );
+ Counter counter = monitor.getCounter( COUNTER );
assertEquals( counter.getClass() + " is not thread safe", threads * loops, counter.getHits() );
assertEquals( counter.getClass() + " is not thread safe", threads * loops, counter.get() );
- Gauge gauge = monitor.getGauge( "GAUGE" );
+ Gauge gauge = monitor.getGauge( GAUGE );
assertEquals( gauge.getClass() + " is not thread safe", threads * loops, gauge.get() );
}
Modified: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java Tue Apr 15 02:58:28 2008
@@ -23,6 +23,7 @@
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Gauge;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.MonitoringTest;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.impl.monitors.CompositeValuesMonitor;
@@ -53,25 +54,25 @@
throws Exception
{
Monitor monitor = new CompositeValuesMonitor( new Monitor.Key( "MonitorTest.testComposite", "test", "utils" ) );
- Counter counter = monitor.getCounter( "COUNTER" );
+ Counter counter = monitor.getCounter( MonitoringTest.COUNTER );
Composite<Counter> composite = (Composite<Counter>) counter;
- counter.add( 1, Unit.NANOS );
+ counter.add( 1, Unit.UNARY );
assertEquals( 1, counter.get() );
Counter secondary = composite.createSecondary();
assertEquals( 0, secondary.get() );
- counter.add( 1, Unit.NANOS );
+ counter.add( 1, Unit.UNARY );
assertEquals( 2, counter.get() );
assertEquals( 1, secondary.get() );
- counter.set( 3, Unit.NANOS );
+ counter.set( 3, Unit.UNARY );
assertEquals( 3, counter.get() );
assertEquals( 3, secondary.get() );
composite.removeSecondary( secondary );
- counter.add( 1, Unit.NANOS );
+ counter.add( 1, Unit.UNARY );
assertEquals( 4, counter.get() );
assertEquals( 3, secondary.get() );
}
@@ -81,36 +82,36 @@
throws Exception
{
Monitor monitor = new CompositeValuesMonitor( new Monitor.Key( "MonitorTest.testComposite", "test", "utils" ) );
- Gauge gauge = monitor.getGauge( "GAUGE" );
+ Gauge gauge = monitor.getGauge( MonitoringTest.GAUGE );
Composite<Gauge> composite = (Composite<Gauge>) gauge;
- gauge.increment(Unit.NONE);
+ gauge.increment(Unit.UNARY);
assertEquals( 1, gauge.get() );
Gauge secondary = composite.createSecondary();
assertEquals( 1, secondary.get() );
- gauge.increment(Unit.NONE);
+ gauge.increment(Unit.UNARY);
assertEquals( 2, gauge.get() );
assertEquals( 2, secondary.get() );
- gauge.set( 3, Unit.NONE );
+ gauge.set( 3, Unit.UNARY );
assertEquals( 3, gauge.get() );
assertEquals( 3, secondary.get() );
- gauge.add( 2, Unit.NONE );
+ gauge.add( 2, Unit.UNARY );
assertEquals( 5, gauge.get() );
assertEquals( 5, secondary.get() );
- gauge.increment(Unit.NONE);
+ gauge.increment(Unit.UNARY);
assertEquals( 6, gauge.get() );
assertEquals( 6, secondary.get() );
- gauge.decrement(Unit.NONE);
+ gauge.decrement(Unit.UNARY);
assertEquals( 5, gauge.get() );
assertEquals( 5, secondary.get() );
composite.removeSecondary( secondary );
- gauge.decrement(Unit.NONE);
+ gauge.decrement(Unit.UNARY);
assertEquals( 4, gauge.get() );
assertEquals( 5, secondary.get() );
}
Modified: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java Tue Apr 15 02:58:28 2008
@@ -20,6 +20,7 @@
import junit.framework.TestCase;
import org.apache.commons.monitoring.Counter;
+import org.apache.commons.monitoring.MonitoringTest;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.impl.values.ThreadSafeCounter;
@@ -30,49 +31,25 @@
public void testValue()
throws Exception
{
- Counter counter = new ThreadSafeCounter( "test" );
+ Counter counter = new ThreadSafeCounter( MonitoringTest.COUNTER );
- counter.set( 1, Unit.NONE );
+ counter.set( 1, Unit.UNARY );
assertEquals( 1, counter.getMin() );
assertEquals( 1, counter.getMax() );
assertEquals( 1, counter.get() );
- counter.add( 10, Unit.NONE );
+ counter.add( 10, Unit.UNARY );
assertEquals( 1, counter.getMin() );
assertEquals( 10, counter.getMax() );
assertEquals( 11, counter.get() );
- counter.add( -2, Unit.NONE );
+ counter.add( -2, Unit.UNARY );
assertEquals( -2, counter.getMin() );
assertEquals( 10, counter.getMax() );
assertEquals( 9, counter.get() );
assertEquals( 3, counter.getHits() );
assertEquals( 3.0D, counter.getMean(), 0D );
- }
-
-
- public void testUnits()
- throws Exception
- {
- Counter counter = new ThreadSafeCounter( "test" );
- assertNull( counter.getUnit() );
- counter.set( 10, Unit.NANOS );
- assertEquals( Unit.NANOS, counter.getUnit() );
- assertEquals( 10, counter.get() );
- counter.set( 10, Unit.SECOND );
- assertEquals( Unit.NANOS, counter.getUnit() );
- assertEquals( 10000000000L, counter.get() );
-
- try
- {
- counter.add( 1, Unit.NONE );
- fail( "incompatible unit not detected" );
- }
- catch (IllegalArgumentException e)
- {
- // Expected
- }
}
}
Modified: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java Tue Apr 15 02:58:28 2008
@@ -20,6 +20,8 @@
import junit.framework.TestCase;
import org.apache.commons.monitoring.Gauge;
+import org.apache.commons.monitoring.MonitoringTest;
+import org.apache.commons.monitoring.Role;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.impl.values.ThreadSafeGauge;
@@ -31,20 +33,20 @@
public void testValue()
throws Exception
{
- Gauge gauge = new ThreadSafeGauge( "test" );
+ Gauge gauge = new ThreadSafeGauge( MonitoringTest.GAUGE );
- gauge.set( 1, Unit.NONE );
+ gauge.set( 1, Unit.UNARY );
assertEquals( 1, gauge.getMin() );
assertEquals( 1, gauge.getMax() );
assertEquals( 1, gauge.get() );
- gauge.increment(Unit.NONE);
+ gauge.increment(Unit.UNARY);
assertEquals( 1, gauge.getMin() );
assertEquals( 2, gauge.getMax() );
assertEquals( 2, gauge.get() );
- gauge.decrement(Unit.NONE);
- gauge.decrement(Unit.NONE);
+ gauge.decrement(Unit.UNARY);
+ gauge.decrement(Unit.UNARY);
assertEquals( 0, gauge.getMin() );
assertEquals( 2, gauge.getMax() );
assertEquals( 0, gauge.get() );
@@ -70,17 +72,17 @@
public void testCompteMean()
throws Exception
{
- Gauge gauge = new MockTimeGauge( "test" );
+ Gauge gauge = new MockTimeGauge( MonitoringTest.GAUGE );
time = 0;
- gauge.increment(Unit.NONE);
+ gauge.increment(Unit.UNARY);
time++;
- gauge.increment(Unit.NONE);
+ gauge.increment(Unit.UNARY);
time++;
time++;
- gauge.decrement(Unit.NONE);
+ gauge.decrement(Unit.UNARY);
time++;
- gauge.decrement(Unit.NONE);
+ gauge.decrement(Unit.UNARY);
assertEquals( 0, gauge.get() );
assertEquals( 1.5D, gauge.getMean(), 0D );
@@ -96,7 +98,7 @@
extends ThreadSafeGauge
{
- public MockTimeGauge( String role )
+ public MockTimeGauge( Role<Gauge> role )
{
super( role );
}
Modified: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/SecondaryReposioryTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/SecondaryReposioryTest.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/SecondaryReposioryTest.java (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/SecondaryReposioryTest.java Tue Apr 15 02:58:28 2008
@@ -17,6 +17,8 @@
package org.apache.commons.monitoring.listener;
+import static org.apache.commons.monitoring.MonitoringTest.COUNTER;
+import static org.apache.commons.monitoring.MonitoringTest.GAUGE;
import junit.framework.TestCase;
import org.apache.commons.monitoring.Repository;
@@ -26,7 +28,6 @@
import org.apache.commons.monitoring.listeners.SecondaryRepository;
/**
- *
* @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
*/
public class SecondaryReposioryTest
@@ -36,33 +37,33 @@
throws Exception
{
Repository.Observable primary = new DefaultRepository();
- primary.getMonitor( "test" ).getCounter( "COUNTER" ).add( 10, Unit.NONE );
- primary.getMonitor( "test" ).getGauge( "GAUGE" ).set( 5, Unit.NONE );
+ primary.getMonitor( "test" ).getCounter( COUNTER ).add( 10, Unit.UNARY );
+ primary.getMonitor( "test" ).getGauge( GAUGE ).set( 5, Unit.UNARY );
SecondaryRepository secondary = new SecondaryRepository( primary );
assertNotNull( secondary.getMonitor( "test" ) );
assertNotNull( secondary.getMonitor( "test" ).getCounter( "COUNTER" ) );
- assertNotNull( secondary.getMonitor( "test" ).getGauge( "GAUGE" ) );
+ assertNotNull( secondary.getMonitor( "test" ).getGauge( GAUGE ) );
assertEquals( 0, secondary.getMonitor( "test" ).getCounter( "COUNTER" ).get() );
- assertEquals( 5, secondary.getMonitor( "test" ).getGauge( "GAUGE" ).get() );
+ assertEquals( 5, secondary.getMonitor( "test" ).getGauge( GAUGE ).get() );
- primary.getMonitor( "test" ).getCounter( "COUNTER" ).add( 10, Unit.NONE );
- primary.getMonitor( "test" ).getGauge( "GAUGE" ).increment(Unit.NONE);
- assertEquals( 10, secondary.getMonitor( "test" ).getCounter( "COUNTER" ).get() );
- assertEquals( 6, secondary.getMonitor( "test" ).getGauge( "GAUGE" ).get() );
+ primary.getMonitor( "test" ).getCounter( COUNTER ).add( 10, Unit.UNARY );
+ primary.getMonitor( "test" ).getGauge( GAUGE ).increment( Unit.UNARY );
+ assertEquals( 10, secondary.getMonitor( "test" ).getCounter( COUNTER ).get() );
+ assertEquals( 6, secondary.getMonitor( "test" ).getGauge( GAUGE ).get() );
- primary.getMonitor( "new" ).getCounter( "COUNTER" ).add( 10, Unit.NONE );
- assertEquals( 10, secondary.getMonitor( "new" ).getCounter( "COUNTER" ).get() );
+ primary.getMonitor( "new" ).getCounter( COUNTER ).add( 10, Unit.UNARY );
+ assertEquals( 10, secondary.getMonitor( "new" ).getCounter( COUNTER ).get() );
secondary.detach();
- primary.getMonitor( "anotherone" ).getCounter( "COUNTER" ).add( 10, Unit.NONE );
- primary.getMonitor( "test" ).getCounter( "COUNTER" ).add( 10, Unit.NONE );
- primary.getMonitor( "test" ).getGauge( "GAUGE" ).increment(Unit.NONE);
+ primary.getMonitor( "anotherone" ).getCounter( COUNTER ).add( 10, Unit.UNARY );
+ primary.getMonitor( "test" ).getCounter( COUNTER ).add( 10, Unit.UNARY );
+ primary.getMonitor( "test" ).getGauge( GAUGE ).increment( Unit.UNARY );
assertTrue( secondary.getMonitor( "anotherone" ) instanceof EmpyMonitor );
- assertEquals( 30, primary.getMonitor( "test" ).getCounter( "COUNTER" ).get() );
- assertEquals( 10, secondary.getMonitor( "test" ).getCounter( "COUNTER" ).get() );
- assertEquals( 7, primary.getMonitor( "test" ).getGauge( "GAUGE" ).get() );
- assertEquals( 6, secondary.getMonitor( "test" ).getGauge( "GAUGE" ).get() );
+ assertEquals( 30, primary.getMonitor( "test" ).getCounter( COUNTER ).get() );
+ assertEquals( 10, secondary.getMonitor( "test" ).getCounter( COUNTER ).get() );
+ assertEquals( 7, primary.getMonitor( "test" ).getGauge( GAUGE ).get() );
+ assertEquals( 6, secondary.getMonitor( "test" ).getGauge( GAUGE ).get() );
}
}
Modified: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java Tue Apr 15 02:58:28 2008
@@ -21,6 +21,7 @@
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.MonitoringTest;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.impl.monitors.CreateValuesOnDemandMonitor;
@@ -37,18 +38,18 @@
{
final Monitor monitor = new CreateValuesOnDemandMonitor(
new Monitor.Key( "MonitoringTest.testMonitoring", "test", "utils" ) );
- Counter counter = monitor.getCounter( Monitor.PERFORMANCES );
+ Counter counter = monitor.getCounter( MonitoringTest.COUNTER );
TestListener listener = new TestListener( monitor );
counter.addListener( listener );
- counter.add( 1, Unit.NONE );
+ counter.add( 1, Unit.UNARY );
assertEquals( "unexpected listener notification", 0, listener.count );
- counter.add( 10, Unit.NONE );
+ counter.add( 10, Unit.UNARY );
assertEquals( "listener didn't get notified", 1, listener.count );
counter.removeListener( listener );
- counter.add( 10, Unit.NONE );
+ counter.add( 10, Unit.UNARY );
assertEquals( "removed listener was notified", 1, listener.count );
}
@@ -68,7 +69,7 @@
{
count++;
assertEquals( 10, l );
- assertEquals( Monitor.PERFORMANCES, value.getRole() );
+ assertEquals( MonitoringTest.COUNTER, value.getRole() );
assertEquals( monitor, value.getMonitor() );
}
Modified: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/reporting/RendererTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/reporting/RendererTest.java?rev=648201&r1=648200&r2=648201&view=diff
==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/reporting/RendererTest.java (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/reporting/RendererTest.java Tue Apr 15 02:58:28 2008
@@ -28,6 +28,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.commons.monitoring.Counter;
import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.MonitoringTest;
import org.apache.commons.monitoring.StatValue;
import org.apache.commons.monitoring.Unit;
import org.apache.commons.monitoring.impl.monitors.CreateValuesOnDemandMonitor;
@@ -51,7 +52,7 @@
Monitor m2 = new CreateValuesOnDemandMonitor( new Monitor.Key( "TestCase", "test", "junit" ) );
m2.getCounter( Monitor.PERFORMANCES );
- m2.getGauge( Monitor.CONCURRENCY ).increment(Unit.NONE);
+ m2.getGauge( Monitor.CONCURRENCY ).increment(Unit.UNARY);
monitors.add( m2 );
}
@@ -97,9 +98,9 @@
};
AbstractRenderer renderer = new XmlRenderer();
- Counter counter = new ThreadSafeCounter( "test" );
- counter.add( 1, Unit.MILLIS );
- counter.add( 1, Unit.MICROS );
+ Counter counter = new ThreadSafeCounter( MonitoringTest.COUNTER );
+ counter.add( 1, Unit.MEGA );
+ counter.add( 1, Unit.KILO );
StringWriter writer = new StringWriter();
Context ctx = new Context( new PrintWriter( writer ) );
renderer.render( ctx, counter, "mean", counter.getMean(), options );