[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    svn commit: r616771 - in /commons/sandbox/monitoring/trunk: ./
From:       nicolas () apache ! org
Date:       2008-01-30 14:24:11
Message-ID: 20080130142423.47EB41A983A () eris ! apache ! org
[Download RAW message or body]

Author: nicolas
Date: Wed Jan 30 06:24:08 2008
New Revision: 616771

URL: http://svn.apache.org/viewvc?rev=616771&view=rev
Log:
- Composite statValues implementation & test case
- DefaultRepository to user CompositeValuesMonitor
- Value Listener+ Threshold implementation

Added:
    commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/
                
      - copied from r616198, \
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/events/  \
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java \
(with props)  commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java \
(with props)  commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java
                
      - copied, changed from r616742, \
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleCounterTest.java
  commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java
                
      - copied, changed from r616742, \
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleGaugeTest.java
  commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/
  commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java \
(with props) Removed:
    commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleCounterTest.java
  commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleGaugeTest.java
 Modified:
    commons/sandbox/monitoring/trunk/pom.xml
    commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StatValue.java
  commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractMonitor.java
  commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractStatValue.java
  commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CompositeValuesMonitor.java
  commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CreateValuesOnDemandMonitor.java
  commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/DefaultRepository.java
  commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeCounter.java
  commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java
  commons/sandbox/monitoring/trunk/src/site/site.xml
    commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/MonitoringTest.java
  commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/reporting/RendererTest.java


Modified: commons/sandbox/monitoring/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/pom.xml?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/pom.xml (original)
+++ commons/sandbox/monitoring/trunk/pom.xml Wed Jan 30 06:24:08 2008
@@ -74,19 +74,19 @@
   <build>
     <plugins>
       <!-- TODO : investigate OSGi support
-      <plugin>
+        <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
         <version>1.2.0</version>
         <extensions>true</extensions>
         <configuration>
-          <excludeDependencies>true</excludeDependencies>
-          <instructions>
-            <Bundle-SymbolicName>org.apache.commons.monitoring</Bundle-SymbolicName>
-            <Export-Package>org.apache.commons.monitoring;version=${project.version}</Export-Package>
                
-          </instructions>
+        <excludeDependencies>true</excludeDependencies>
+        <instructions>
+        <Bundle-SymbolicName>org.apache.commons.monitoring</Bundle-SymbolicName>
+        <Export-Package>org.apache.commons.monitoring;version=${project.version}</Export-Package>
 +        </instructions>
         </configuration>
-      </plugin>
+        </plugin>
       -->
       <plugin>
         <artifactId>maven-jar-plugin</artifactId>
@@ -100,87 +100,81 @@
       </plugin>
 
       <!--
-      FIXME waiting for Retrotranslator 1.2.4 to get deployed on central
-      <plugin>
+        FIXME waiting for Retrotranslator 1.2.4 to get deployed on central
+        <plugin>
         <artifactId>maven-antrun-plugin</artifactId>
         <version>1.1</version>
         <executions>
-          <execution>
-            <id>backport</id>
-            <phase>package</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-                <mkdir dir="${basedir}/target/backport" />
-                <java classname="net.sf.retrotranslator.transformer.Retrotranslator" \
                failonerror="true">
-                  <classpath>
-                    <path refid="maven.plugin.classpath" />
-                    <path refid="maven.compile.classpath" />
-                  </classpath>
-                  <arg value="-smart" />
-                  <arg value="-srcdir" />
-                  <arg value="${basedir}/target/classes" />
-                  <arg value="-destdir" />
-                  <arg value="${basedir}/target/backport" />
-                  <arg value="-target" />
-                  <arg value="1.3" />
-                  <arg value="-backport" />
-                  <arg
-                    \
                value="java.util.concurrent:edu.emory.mathcs.backport.java.util.concurrent;
                
-  java.lang.System.nanoTime:edu.emory.mathcs.backport.java.util.concurrent.helpers.Utils.nanoTime;
                
-  java.lang.StringBuilder:java.lang.StringBuffer;
-  org.apache.commons.monitoring.support.java13;" />
-                </java>
-              </tasks>
-            </configuration>
-          </execution>
+        <execution>
+        <id>backport</id>
+        <phase>package</phase>
+        <goals>
+        <goal>run</goal>
+        </goals>
+        <configuration>
+        <tasks>
+        <mkdir dir="${basedir}/target/backport" />
+        <java classname="net.sf.retrotranslator.transformer.Retrotranslator" \
failonerror="true"> +        <classpath>
+        <path refid="maven.plugin.classpath" />
+        <path refid="maven.compile.classpath" />
+        </classpath>
+        <arg value="-smart" />
+        <arg value="-srcdir" />
+        <arg value="${basedir}/target/classes" />
+        <arg value="-destdir" />
+        <arg value="${basedir}/target/backport" />
+        <arg value="-target" />
+        <arg value="1.3" />
+        <arg value="-backport" />
+        <arg
+        value="java.util.concurrent:edu.emory.mathcs.backport.java.util.concurrent;
+        java.lang.System.nanoTime:edu.emory.mathcs.backport.java.util.concurrent.helpers.Utils.nanoTime;
 +        java.lang.StringBuilder:java.lang.StringBuffer;
+        org.apache.commons.monitoring.support.java13;" />
+        </java>
+        </tasks>
+        </configuration>
+        </execution>
         </executions>
         <dependencies>
-          <dependency>
-            <groupId>net.sf.retrotranslator</groupId>
-            <artifactId>retrotranslator-transformer</artifactId>
-            <version>1.2.4</version>
-            <scope>system</scope>
-            <systemPath>
-                  ${basedir}/lib/retrotranslator-transformer-1.2.4.jar
-                </systemPath>
-          </dependency>
-          <dependency>
-            <groupId>net.sf.retrotranslator</groupId>
-            <artifactId>retrotranslator-runtime</artifactId>
-            <version>1.2.4</version>
-            <scope>system</scope>
-            <systemPath>
-                  ${basedir}/lib/retrotranslator-runtime-1.2.4.jar
-                </systemPath>
-          </dependency>
-          <dependency>
-            <groupId>backport-util-concurrent</groupId>
-            <artifactId>backport-util-concurrent</artifactId>
-            <version>3.1</version>
-          </dependency>
+        <dependency>
+        <groupId>net.sf.retrotranslator</groupId>
+        <artifactId>retrotranslator-transformer</artifactId>
+        <version>1.2.4</version>
+        <scope>system</scope>
+        </dependency>
+        <dependency>
+        <groupId>net.sf.retrotranslator</groupId>
+        <artifactId>retrotranslator-runtime</artifactId>
+        <version>1.2.4</version>
+        <scope>system</scope>
+        </dependency>
+        <dependency>
+        <groupId>backport-util-concurrent</groupId>
+        <artifactId>backport-util-concurrent</artifactId>
+        <version>3.1</version>
+        </dependency>
         </dependencies>
-      </plugin>
-      <plugin>
+        </plugin>
+        <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
         <version>2.2-beta-1</version>
         <executions>
-          <execution>
-            <id>backport</id>
-            <phase>package</phase>
-            <goals>
-              <goal>attached</goal>
-            </goals>
-            <configuration>
-              <descriptors>
-                <descriptor>src/assembly/backport.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
+        <execution>
+        <id>backport</id>
+        <phase>package</phase>
+        <goals>
+        <goal>attached</goal>
+        </goals>
+        <configuration>
+        <descriptors>
+        <descriptor>src/assembly/backport.xml</descriptor>
+        </descriptors>
+        </configuration>
+        </execution>
         </executions>
-      </plugin> -->
+        </plugin> -->
     </plugins>
   </build>
 
@@ -197,5 +191,17 @@
     <maven.compile.source>1.5</maven.compile.source>
     <maven.compile.target>1.5</maven.compile.target>
   </properties>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <configuration>
+            <targetJdk>1.5</targetJdk>
+        </configuration>
+      </plugin>
+    </plugins>
+  </reporting>
 
 </project>

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=616771&r1=616770&r2=616771&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 \
Wed Jan 30 06:24:08 2008 @@ -78,10 +78,13 @@
 
     void removeListener( Listener listener );
 
+    /**
+     * Listener for StatValue events
+     *
+     * @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
+     */
     public static interface Listener
     {
-        long getThreshold();
-
-        void exceeded( StatValue value, long l );
+        void onValueChanged( StatValue value, long l );
     }
 }

Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractMonitor.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/a \
pache/commons/monitoring/impl/AbstractMonitor.java?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractMonitor.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractMonitor.java \
Wed Jan 30 06:24:08 2008 @@ -36,17 +36,6 @@
 
     /**
      * Constructor
-     * @param name monitor name
-     * @param category monitor (technical) category
-     * @param subsystem monitor (functional) subsystem
-     */
-    public AbstractMonitor( String name, String category, String subsystem )
-    {
-        this( new Key( name, category, subsystem ) );
-    }
-
-    /**
-     * Constructor
      * @param key the monitor identifier
      */
     public AbstractMonitor( Key key )

Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractStatValue.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/a \
pache/commons/monitoring/impl/AbstractStatValue.java?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractStatValue.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/AbstractStatValue.java \
Wed Jan 30 06:24:08 2008 @@ -90,15 +90,12 @@
         hits++;
     }
 
-    protected void notifyValueChanged( long l )
+    protected void fireValueChanged( long l )
     {
-        // Notify listeners if Threshold exceeded
+        // Notify listeners
         for ( Listener listener : listeners )
         {
-            if ( listener.getThreshold() < l )
-            {
-                listener.exceeded( this, l );
-            }
+            listener.onValueChanged( this, l );
         }
     }
 

Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CompositeValuesMonitor.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/a \
pache/commons/monitoring/impl/CompositeValuesMonitor.java?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CompositeValuesMonitor.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CompositeValuesMonitor.java \
Wed Jan 30 06:24:08 2008 @@ -33,11 +33,6 @@
         super( key );
     }
 
-    public CompositeValuesMonitor( String name, String category, String subsystem )
-    {
-        super( name, category, subsystem );
-    }
-
     @Override
     protected Counter newCounterInstance()
     {

Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CreateValuesOnDemandMonitor.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/a \
pache/commons/monitoring/impl/CreateValuesOnDemandMonitor.java?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CreateValuesOnDemandMonitor.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/CreateValuesOnDemandMonitor.java \
Wed Jan 30 06:24:08 2008 @@ -19,10 +19,9 @@
 
 import org.apache.commons.monitoring.Counter;
 import org.apache.commons.monitoring.Gauge;
-import org.apache.commons.monitoring.Monitor;
 
 /**
- * implementation of the {@link Monitor} interface that creates StatValues on
+ * implementation of the <code>Monitor</code> interface that creates StatValues on
  * demand. The application can request for Counters/Gauges without having to
  * handle instantiation of monitors with all required StatValues pre-registered.
  *
@@ -35,11 +34,6 @@
     public CreateValuesOnDemandMonitor( Key key )
     {
         super( key );
-    }
-
-    public CreateValuesOnDemandMonitor( String name, String category, String \
                subsystem )
-    {
-        super( name, category, subsystem );
     }
 
     /**

Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/DefaultRepository.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/a \
pache/commons/monitoring/impl/DefaultRepository.java?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/DefaultRepository.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/DefaultRepository.java \
Wed Jan 30 06:24:08 2008 @@ -92,10 +92,7 @@
         if ( monitor == null )
         {
             monitor = newMonitorInstance( key );
-            for ( Listener listener : listeners )
-            {
-                listener.newMonitorInstance( monitor );
-            }
+
             Monitor previous = monitors.putIfAbsent( key, monitor );
             if ( previous != null )
             {
@@ -108,7 +105,7 @@
     protected Monitor newMonitorInstance( Monitor.Key key )
     {
         Monitor monitor;
-        monitor = new CreateValuesOnDemandMonitor( key );
+        monitor = new CompositeValuesMonitor( key );
         return monitor;
     }
 

Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeCounter.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/a \
pache/commons/monitoring/impl/ThreadSafeCounter.java?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeCounter.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeCounter.java \
Wed Jan 30 06:24:08 2008 @@ -60,7 +60,7 @@
             value = l;
             computeStats( l );
         }
-        notifyValueChanged( l );
+        fireValueChanged( l );
     }
 
     public void add( long delta )
@@ -70,7 +70,7 @@
             value += delta;
             computeStats( delta );
         }
-        notifyValueChanged( delta );
+        fireValueChanged( delta );
     }
 
     @Override
@@ -96,8 +96,7 @@
     @Override
     public long getSum()
     {
-        // TODO Auto-generated method stub
-        return 0;
+        return sum;
     }
 
 }

Modified: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/a \
pache/commons/monitoring/impl/ThreadSafeGauge.java?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java \
Wed Jan 30 06:24:08 2008 @@ -55,7 +55,7 @@
     public void increment()
     {
         long l = threadSafeIncrement();
-        notifyValueChanged( l );
+        fireValueChanged( l );
     }
 
     protected synchronized long threadSafeIncrement()
@@ -70,7 +70,7 @@
     public void add( long delta )
     {
         long l = trheadSageAdd( delta );
-        notifyValueChanged( l );
+        fireValueChanged( l );
     }
 
     protected synchronized long trheadSageAdd( long delta )
@@ -85,8 +85,8 @@
 
     public void decrement()
     {
-        long l = threadSafeDecrement();;
-        notifyValueChanged( l );
+        long l = threadSafeDecrement();
+        fireValueChanged( l );
     }
 
     protected synchronized long threadSafeDecrement()
@@ -129,8 +129,7 @@
     @Override
     protected long getSquares()
     {
-        // TODO Auto-generated method stub
-        return 0;
+        return sumOfSquares;
     }
 
     @Override
@@ -147,7 +146,7 @@
     public void set( long l )
     {
         threadSafeSet( l );
-        notifyValueChanged( l );
+        fireValueChanged( l );
     }
 
     protected synchronized void threadSafeSet( long l )

Added: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java?rev=616771&view=auto
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java \
                (added)
+++ commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java \
Wed Jan 30 06:24:08 2008 @@ -0,0 +1,40 @@
+/*
+ * 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.listeners;
+
+import org.apache.commons.monitoring.StatValue;
+import org.apache.commons.monitoring.StatValue.Listener;
+
+/**
+ * @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
+ */
+public abstract class ThresholdListener
+    implements Listener
+{
+    public abstract long getThreshold();
+
+    public final void onValueChanged( StatValue value, long l )
+    {
+        if ( l > getThreshold() )
+        {
+            exceed( value, l );
+        }
+    }
+
+    public abstract void  exceed( StatValue value, long l );
+}

Propchange: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java
                
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/listeners/ThresholdListener.java
                
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: commons/sandbox/monitoring/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/site/site.xml?rev=616771&r1=616770&r2=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/site/site.xml (original)
+++ commons/sandbox/monitoring/trunk/src/site/site.xml Wed Jan 30 06:24:08 2008
@@ -17,18 +17,17 @@
 -->
 <project name="Monitoring">
 
-  <!--
   <bannerRight>
     <name>Commons Monitoring</name>
     <src>/images/logo.png</src>
     <href>/index.html</href>
   </bannerRight>
-  -->
 
   <body>
     <menu name="Monitoring">
       <item name="Overview"            href="/index.html"/>
       <item name="Proposal"            href="/PROPOSAL.html"/>
+      <item name="Tutorial"            href="/tutorial.html"/>
       <item name="Wiki"                \
href="http://wiki.apache.org/commons/Monitoring"/>  </menu>
 

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/a \
pache/commons/monitoring/MonitoringTest.java?rev=616771&r1=616770&r2=616771&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 \
Wed Jan 30 06:24:08 2008 @@ -32,7 +32,7 @@
     extends TestCase
 {
 
-    public void testConcurrencyMonitoring()
+    public void testStopWatchConcurrencyMonitoring()
         throws Exception
     {
         Monitoring.setRepository( new DefaultRepository() );
@@ -65,7 +65,7 @@
             {
                 public void run()
                 {
-                    for ( int i = 0; i < loops; i++ )
+                    for ( int j = 0; j < loops; j++ )
                     {
                         Monitor monitor = Monitoring.getMonitor( \
"MonitoringTest.testMultiThreading", "test", "utils" );  monitor.getCounter( \
"COUNTER" ).add( 1 ); @@ -89,48 +89,6 @@
         assertEquals( threads * loops, monitor.getCounter( "COUNTER" ).getHits() );
         assertEquals( threads * loops, monitor.getCounter( "COUNTER" ).get() );
         assertEquals( threads * loops, monitor.getGauge( "GAUGE" ).get() );
-    }
-
-    public void testCounterListeners()
-        throws Exception
-    {
-        Repository repository = new DefaultRepository();
-        final Monitor monitor = repository.getMonitor( \
                "MonitoringTest.testMonitoring", "test", "utils" );
-        Counter counter = monitor.getCounter( Monitor.PERFORMANCES );
-
-        TestListener listener = new TestListener( monitor );
-        counter.addListener( listener );
-
-        counter.add( 1 );
-        assertEquals( "unexpected listener notification", 0, listener.count );
-        counter.add( 10 );
-        assertEquals( "listener didn't get notified", 1, listener.count );
-    }
-
-    private final class TestListener
-        implements StatValue.Listener
-    {
-        private final Monitor monitor;
-
-        long count = 0;
-
-        private TestListener( Monitor monitor )
-        {
-            this.monitor = monitor;
-        }
-
-        public void exceeded( StatValue value, long l )
-        {
-            count++;
-            assertEquals( 10, l );
-            assertEquals( Monitor.PERFORMANCES, value.getRole() );
-            assertEquals( monitor, value.getMonitor() );
-        }
-
-        public long getThreshold()
-        {
-            return 5;
-        }
     }
 
 }

Added: 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/a \
pache/commons/monitoring/impl/CompositeValuesMonitorTest.java?rev=616771&view=auto \
                ==============================================================================
                
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java \
                (added)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java \
Wed Jan 30 06:24:08 2008 @@ -0,0 +1,114 @@
+/*
+ * 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.impl;
+
+import org.apache.commons.monitoring.Composite;
+import org.apache.commons.monitoring.Counter;
+import org.apache.commons.monitoring.Gauge;
+import org.apache.commons.monitoring.Monitor;
+
+import junit.framework.TestCase;
+
+;
+
+/**
+ * Test for basic Monitor behaviour
+ *
+ * @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
+ */
+public class CompositeValuesMonitorTest
+    extends TestCase
+{
+    public void testReset()
+        throws Exception
+    {
+        Monitor monitor = new CompositeValuesMonitor( new Monitor.Key( \
"MonitorTest.testReset", "test", "utils" ) ); +        Counter counter = \
monitor.getCounter( Monitor.PERFORMANCES ); +        counter.add( 1 );
+        assertEquals( 1, counter.get() );
+
+        monitor.reset();
+        assertEquals( 0, counter.get() );
+    }
+
+    public void testCompositeCounter()
+        throws Exception
+    {
+        Monitor monitor = new CompositeValuesMonitor( new Monitor.Key( \
"MonitorTest.testComposite", "test", "utils" ) ); +        Counter counter = \
monitor.getCounter( "COUNTER" ); +        Counter secondary = new \
ThreadSafeCounter(); +        Composite<Counter> composite = (Composite<Counter>) \
counter; +
+        counter.add( 1 );
+        assertEquals( 1, counter.get() );
+        assertEquals( 0, secondary.get() );
+
+        composite.addSecondary( secondary );
+        counter.add( 1 );
+        assertEquals( 2, counter.get() );
+        assertEquals( 1, secondary.get() );
+
+        counter.set( 3 );
+        assertEquals( 3, counter.get() );
+        assertEquals( 3, secondary.get() );
+
+        composite.removeSecondary( secondary );
+        counter.add( 1 );
+        assertEquals( 4, counter.get() );
+        assertEquals( 3, secondary.get() );
+    }
+
+    public void testCompositeGauge()
+        throws Exception
+    {
+        Monitor monitor = new CompositeValuesMonitor( new Monitor.Key( \
"MonitorTest.testComposite", "test", "utils" ) ); +        Gauge gauge = \
monitor.getGauge( "GAUGE" ); +        Gauge secondary = new ThreadSafeGauge();
+        Composite<Gauge> composite = (Composite<Gauge>) gauge;
+
+        gauge.increment();
+        assertEquals( 1, gauge.get() );
+        assertEquals( 0, secondary.get() );
+
+        composite.addSecondary( secondary );
+        gauge.increment();
+        assertEquals( 2, gauge.get() );
+        assertEquals( 2, secondary.get() );
+
+        gauge.set( 3 );
+        assertEquals( 3, gauge.get() );
+        assertEquals( 3, secondary.get() );
+
+        gauge.add( 2 );
+        assertEquals( 5, gauge.get() );
+        assertEquals( 5, secondary.get() );
+
+        gauge.increment();
+        assertEquals( 6, gauge.get() );
+        assertEquals( 6, secondary.get() );
+
+        gauge.decrement();
+        assertEquals( 5, gauge.get() );
+        assertEquals( 5, secondary.get() );
+
+        composite.removeSecondary( secondary );
+        gauge.decrement();
+        assertEquals( 4, gauge.get() );
+        assertEquals( 5, secondary.get() );
+    }
+}

Propchange: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
                
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
                
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java \
(from r616742, commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleCounterTest.java)
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/a \
pache/commons/monitoring/impl/ThreadSafeCounterTest.java?p2=commons/sandbox/monitoring \
/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java&p1= \
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleCounterTest.java&r1=616742&r2=616771&rev=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleCounterTest.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeCounterTest.java \
Wed Jan 30 06:24:08 2008 @@ -21,7 +21,7 @@
 
 import org.apache.commons.monitoring.Counter;
 
-public class SimpleCounterTest
+public class ThreadSafeCounterTest
     extends TestCase
 {
 

Copied: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java \
(from r616742, commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleGaugeTest.java)
                
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/a \
pache/commons/monitoring/impl/ThreadSafeGaugeTest.java?p2=commons/sandbox/monitoring/t \
runk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java&p1=comm \
ons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleGaugeTest.java&r1=616742&r2=616771&rev=616771&view=diff
 ==============================================================================
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/SimpleGaugeTest.java \
                (original)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java \
Wed Jan 30 06:24:08 2008 @@ -21,7 +21,7 @@
 
 import org.apache.commons.monitoring.Gauge;
 
-public class SimpleGaugeTest
+public class ThreadSafeGaugeTest
     extends TestCase
 {
     private long time;

Added: 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/a \
pache/commons/monitoring/listener/ThresholdListenerTest.java?rev=616771&view=auto \
                ==============================================================================
                
--- commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java \
                (added)
+++ commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java \
Wed Jan 30 06:24:08 2008 @@ -0,0 +1,79 @@
+/*
+ * 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.listener;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.monitoring.Counter;
+import org.apache.commons.monitoring.Monitor;
+import org.apache.commons.monitoring.StatValue;
+import org.apache.commons.monitoring.impl.CreateValuesOnDemandMonitor;
+import org.apache.commons.monitoring.listeners.ThresholdListener;
+
+/**
+ * @author <a href="mailto:nicolas@apache.org">Nicolas De Loof</a>
+ */
+public class ThresholdListenerTest
+    extends TestCase
+{
+    public void testThresholdListener()
+        throws Exception
+    {
+        final Monitor monitor = new CreateValuesOnDemandMonitor(
+            new Monitor.Key( "MonitoringTest.testMonitoring", "test", "utils" ) );
+        Counter counter = monitor.getCounter( Monitor.PERFORMANCES );
+
+        TestListener listener = new TestListener( monitor );
+        counter.addListener( listener );
+
+        counter.add( 1 );
+        assertEquals( "unexpected listener notification", 0, listener.count );
+        counter.add( 10 );
+        assertEquals( "listener didn't get notified", 1, listener.count );
+
+        counter.removeListener( listener );
+        counter.add( 10 );
+        assertEquals( "removed listener was notified", 1, listener.count );
+    }
+
+    private final class TestListener
+        extends ThresholdListener
+    {
+        private final Monitor monitor;
+
+        long count = 0;
+
+        private TestListener( Monitor monitor )
+        {
+            this.monitor = monitor;
+        }
+
+        public void exceed( StatValue value, long l )
+        {
+            count++;
+            assertEquals( 10, l );
+            assertEquals( Monitor.PERFORMANCES, value.getRole() );
+            assertEquals( monitor, value.getMonitor() );
+        }
+
+        public long getThreshold()
+        {
+            return 5;
+        }
+    }
+}

Propchange: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java
                
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java
                
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/listener/ThresholdListenerTest.java
                
------------------------------------------------------------------------------
    svn:mime-type = text/plain

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/a \
pache/commons/monitoring/reporting/RendererTest.java?rev=616771&r1=616770&r2=616771&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 \
Wed Jan 30 06:24:08 2008 @@ -40,12 +40,14 @@
         throws Exception
     {
         monitors = new LinkedList<Monitor>();
-        Monitor m1 = new CreateValuesOnDemandMonitor( "JsonRendererTest.setUp", \
"test", "reporting" ); +        Monitor m1 = new CreateValuesOnDemandMonitor(
+            new Monitor.Key( "JsonRendererTest.setUp", "test", "reporting" ) );
         m1.getCounter( Monitor.PERFORMANCES ).add( 10 );
         m1.getGauge( Monitor.CONCURRENCY );
         monitors.add( m1 );
 
-        Monitor m2 = new CreateValuesOnDemandMonitor( "TestCase", "test", "junit" );
+        Monitor m2 = new CreateValuesOnDemandMonitor(
+            new Monitor.Key( "TestCase", "test", "junit" ) );
         m2.getCounter( Monitor.PERFORMANCES );
         m2.getGauge( Monitor.CONCURRENCY ).increment();
         monitors.add( m2 );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic