You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/05/19 14:59:20 UTC

svn commit: r407787 - in /tomcat/container/tc5.5.x/modules/groupcom: src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java test/java/org/apache/catalina/tribes/demos/LoadTest.java

Author: fhanik
Date: Fri May 19 05:59:20 2006
New Revision: 407787

URL: http://svn.apache.org/viewvc?rev=407787&view=rev
Log:
Added throughput measurement to the receiving end

Modified:
    tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
    tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java

Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java?rev=407787&r1=407786&r2=407787&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java (original)
+++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/ThroughputInterceptor.java Fri May 19 05:59:20 2006
@@ -47,12 +47,13 @@
     AtomicLong msgTxErr = new AtomicLong(0);
     int interval = 10000;
     AtomicInteger access = new AtomicInteger(0);
-    long start = 0;
+    long txStart = 0;
+    long rxStart = 0;
     DecimalFormat df = new DecimalFormat("#0.00");
 
 
     public void sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload) throws ChannelException {
-        if ( access.addAndGet(1) == 1 ) start = System.currentTimeMillis();
+        if ( access.addAndGet(1) == 1 ) txStart = System.currentTimeMillis();
         long bytes = XByteBuffer.getDataPackageLength(((ChannelData)msg).getDataPackageLength());
         try {
             super.sendMessage(destination, msg, payload);
@@ -65,7 +66,7 @@
         mbAppTx += ((double)(bytes))/(1024d*1024d);
         if ( access.addAndGet(-1) == 0 ) {
             long stop = System.currentTimeMillis();
-            timeTx += ( (double) (stop - start)) / 1000d;
+            timeTx += ( (double) (stop - txStart)) / 1000d;
         }
 
         if (msgTxCnt.get() % interval == 0) {
@@ -73,7 +74,7 @@
 
             if ( access.get() != 0 ) {
                 long now = System.currentTimeMillis();
-                time = (double)(now - start + timeTx)/1000d;
+                time = (double)(now - txStart + timeTx)/1000d;
             }
             report(time);
         }
@@ -81,6 +82,7 @@
     }
 
     public void messageReceived(ChannelMessage msg) {
+        if ( rxStart == 0 ) rxStart = System.currentTimeMillis();
         long bytes = XByteBuffer.getDataPackageLength(((ChannelData)msg).getDataPackageLength());
         mbRx += ((double)bytes)/(1024d*1024d);
         msgRxCnt.addAndGet(1);
@@ -97,14 +99,16 @@
         buf.append(df.format(mbAppTx));
         buf.append(" MB (application)\n\tTime:");
         buf.append(df.format(timeTx));
-        buf.append(" seconds\n\tSpeed:");
+        buf.append(" seconds\n\tTx Speed:");
         buf.append(df.format(mbTx/timeTx));
-        buf.append(" MB/sec (total)\n\tSpeed:");
+        buf.append(" MB/sec (total)\n\tTxSpeed:");
         buf.append(df.format(mbAppTx/timeTx));
         buf.append(" MB/sec (application)\n\tError Msg:");
         buf.append(msgTxErr).append("\n\tRx Msg:");
         buf.append(msgRxCnt);
-        buf.append(" messages\n\tReceived:");
+        buf.append(" messages\n\tRx Speed:");
+        buf.append(mbRx/((double)((System.currentTimeMillis()-rxStart)/1000)));
+        buf.append(" MB/sec (since 1st msg)\n\tReceived:");
         buf.append(df.format(mbRx)).append(" MB]\n");
         if ( log.isInfoEnabled() ) log.info(buf);
     }

Modified: tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java?rev=407787&r1=407786&r2=407787&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java (original)
+++ tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java Fri May 19 05:59:20 2006
@@ -249,8 +249,8 @@
 
     
     
-    //public static class LoadMessage extends ByteMessage implements Serializable  {
-    public static class LoadMessage extends ByteMessage  implements Serializable {
+    public static class LoadMessage implements Serializable  {
+    //public static class LoadMessage extends ByteMessage  implements Serializable {
         
         public static byte[] outdata = new byte[size];
         public static Random r = new Random(System.currentTimeMillis());
@@ -265,15 +265,13 @@
             }
             return messageSize;
         }
-        
-        protected byte[] message = getMessage();
-        protected int nr = -1;
         static {
             r.nextBytes(outdata);
         }
         
+        protected byte[] message = getMessage();
+        
         public LoadMessage() {
-            
         }
         
         public byte[] getMessage() {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org