Author: nicolas
Date: Wed Feb  4 09:04:42 2009
New Revision: 740659

URL: http://svn.apache.org/viewvc?rev=740659&view=rev
Log:
add(..) methods added to Metrics API
add( double ) created to avoid Unit conversion when not required

Modified:
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
 Wed Feb  4 09:04:42 2009
@@ -27,13 +27,6 @@
     extends Metric
 {
 
-    /**
-     * Add value to the counter. Delta should not be negative (in such case a 
Gauge should be used).
-     * 
-     * @param delta
-     */
-    void add( double delta, Unit unit );
-
     public interface Observable
         extends Metric.Observable, Counter
     {

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
 Wed Feb  4 09:04:42 2009
@@ -19,11 +19,10 @@
 
 import java.util.EventListener;
 
-
 /**
- * A <code>Metric</code> is a numerical indicator of some monitored
- * application state with support for simple statistics.
- *
+ * A <code>Metric</code> is a numerical indicator of some monitored 
application state with support for simple
+ * statistics.
+ * 
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 public interface Metric
@@ -41,12 +40,30 @@
     void reset();
 
     /**
+     * Add value to the metric. For Counters, the value is expected to be 
always positive.
+     * <p>
+     * The delta MUST use the metric unit ({...@link #getUnit()})
+     * 
+     * @param delta value to be added
+     */
+    void add( double delta );
+
+    /**
+     * Add value to the metric with the specified Unit. For Counters, the 
value is expected to be always positive.
+     * 
+     * @param delta value to be added
+     * @param unit the unit used for delta, MUST be compatible with the metric 
unit ({...@link #getUnit()})
+     */
+    void add( double delta, Unit unit );
+
+    /**
      * Set the monitor this Metric is attached to
-     *
+     * 
      * @param monitor
      * @throws IllegalStateException if the Metric is allready attached to a 
monitor
      */
-    void setMonitor( Monitor monitor ) throws IllegalStateException;
+    void setMonitor( Monitor monitor )
+        throws IllegalStateException;
 
     /**
      * @return the monitor this Metric is attached to
@@ -72,9 +89,9 @@
         /**
          * Value has changed on Metric.
          * <p>
-         * Note that the value parameter has not the same content depending
-         * on Metric variant: for a {@ Counter} it is the delta added to the 
counter
-         * for a {@ Gauge} it is the new value of the gauge after beeing 
updated.
+         * Note that the value parameter has not the same content depending on 
Metric variant: for a @ Counter} it is
+         * the delta added to the counter for a @ Gauge} it is the new value 
of the gauge after beeing updated.
+         * 
          * @param metric
          * @param value
          */

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
 Wed Feb  4 09:04:42 2009
@@ -60,6 +60,17 @@
         return statistics;
     }
 
+    /**
+     * {...@inheritdoc}
+     * 
+     * @see org.apache.commons.monitoring.Metric#add(double, 
org.apache.commons.monitoring.Unit)
+     */
+    public final void add( double delta, Unit unit )
+    {
+        delta = normalize( delta, unit );
+        add( delta );
+    }
+
     protected double normalize( double value, Unit unit )
     {
         if ( !this.unit.isCompatible( unit ) )

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
 Wed Feb  4 09:04:42 2009
@@ -3,7 +3,6 @@
 import org.apache.commons.monitoring.Counter;
 import org.apache.commons.monitoring.Metric;
 import org.apache.commons.monitoring.Role;
-import org.apache.commons.monitoring.Unit;
 
 public class NoOpCounter
     extends AbstractMetric
@@ -24,7 +23,7 @@
         // NoOp
     }
 
-    public void add( double delta, Unit unit )
+    public void add( double delta )
     {
         // NoOp
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
 Wed Feb  4 09:04:42 2009
@@ -19,6 +19,11 @@
         return Metric.Type.GAUGE;
     }
 
+    public void add( double delta )
+    {
+        // NoOp
+    }
+
     public void reset()
     {
         // NoOp

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
 Wed Feb  4 09:04:42 2009
@@ -3,7 +3,6 @@
 import org.apache.commons.math.stat.descriptive.SummaryStatistics;
 import org.apache.commons.monitoring.Counter;
 import org.apache.commons.monitoring.Metric;
-import org.apache.commons.monitoring.Unit;
 
 /**
  * A Counter that observe another Counter and computes stats until it gets 
detached
@@ -43,7 +42,7 @@
         delegate.threadSafeAdd( value );
     }
 
-    public void add( double delta, Unit unit )
+    public void add( double delta )
     {
         throw new UnsupportedOperationException( "Observer cannot be updated 
directly" );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
 Wed Feb  4 09:04:42 2009
@@ -49,6 +49,11 @@
         return delegate.getValue();
     }
 
+    public void add( double delta )
+    {
+        throw new UnsupportedOperationException( "Observer cannot be updated 
directly" );
+    }
+
     public void increment( Unit unit )
     {
         throw new UnsupportedOperationException( "Observer cannot be updated 
directly" );

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
 Wed Feb  4 09:04:42 2009
@@ -2,7 +2,6 @@
 
 import org.apache.commons.monitoring.Counter;
 import org.apache.commons.monitoring.Role;
-import org.apache.commons.monitoring.Unit;
 
 public abstract class ThreadSafeCounter
     extends ObservableMetric
@@ -23,9 +22,8 @@
         return Type.COUNTER;
     }
 
-    public void add( double delta, Unit unit )
+    public void add( double delta )
     {
-        delta = normalize( delta, unit );
         threadSafeAdd( delta );
         fireValueChanged( delta );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java?rev=740659&r1=740658&r2=740659&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
 Wed Feb  4 09:04:42 2009
@@ -47,9 +47,8 @@
         add( -1, unit );
     }
 
-    protected void add( double delta, Unit unit )
+    public void add( double delta )
     {
-        delta = normalize( delta, unit );
         double d = threadSafeAdd( delta );
         fireValueChanged( d );
     }
@@ -77,6 +76,11 @@
         fireValueChanged( d );
     }
 
+    /**
+     * Set the Gauge value in a thread-safe way
+     * 
+     * @param d value to set
+     */
     protected abstract void threadSafeSet( double d );
 
     protected void doReset()


Reply via email to