Author: fhanik
Date: Tue Feb 28 05:17:46 2006
New Revision: 381651

URL: http://svn.apache.org/viewcvs?rev=381651&view=rev
Log:
Fixed measurement, not super accurate, but it gives a hint

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

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java?rev=381651&r1=381650&r2=381651&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java
 Tue Feb 28 05:17:46 2006
@@ -51,14 +51,39 @@
     static int messageSize = 0;
     
     public static long messagesSent = 0;
-    public static long messageSendTime = 0;
+    public static long messageStartSendTime = 0;
+    public static long messageEndSendTime = 0;
+    public static int  threadCount = 0;
+    
+    public static synchronized void startTest() {
+        threadCount++;
+        if ( messageStartSendTime == 0 ) messageStartSendTime = 
System.currentTimeMillis();
+    }
+    
+    public static synchronized void endTest() {
+        threadCount--;
+        if ( messageEndSendTime == 0 && threadCount==0 ) messageEndSendTime = 
System.currentTimeMillis();
+    }
+
     
-    public static synchronized long addSendStats(long count, long time) {
+    public static synchronized long addSendStats(long count) {
         messagesSent+=count;
-        messageSendTime+=time;
         return 0l;
     }    
     
+    private static void printSendStats(long counter, int messageSize) {
+        float cnt = (float)counter;
+        float size = (float)messageSize;
+        float time = (float)(System.currentTimeMillis()-messageStartSendTime) 
/ 1000f;
+        log.info("****SEND STATS-"+Thread.currentThread().getName()+"*****"+
+                 "\n\tMessage count:"+counter+
+                 "\n\tTotal bytes  :"+(long)(size*cnt)+
+                 "\n\tTotal seconds:"+(time)+
+                 "\n\tBytes/second :"+(size*cnt/time)+
+                 "\n\tMBytes/second:"+(size*cnt/time/1024f/1024f));
+    }
+
+    
     
     public LoadTest(ManagedChannel channel, 
                     boolean send,
@@ -83,8 +108,9 @@
         long counter = 0;
         LoadMessage msg = new LoadMessage();
         int messageSize = LoadTest.messageSize;
-        long sendTime = 0;
+        
         try {
+            startTest();
             while (counter < msgCount) {
                 if (channel.getMembers().length == 0 || (!send)) {
                     synchronized (mutex) {
@@ -97,12 +123,10 @@
                 } else {
                     try {
                         msg.setMsgNr((int)++counter);
-                        long start = System.currentTimeMillis();
                         if (debug) {
                             printArray(msg.getMessage());
                         }
                         channel.send(null, msg);
-                        sendTime += (System.currentTimeMillis() - start);
                         if ( pause > 0 ) {
                             if ( debug) System.out.println("Pausing sender for 
"+pause+" ms.");
                             Thread.sleep(pause);
@@ -117,31 +141,22 @@
                 }
                 if ( (counter % statsInterval) == 0 && (counter > 0)) {
                     //add to the global counter
-                    //counter = sendTime = addSendStats(counter,sendTime);
+                    counter = addSendStats(counter);
                     //print from the global counter
                     //printSendStats(LoadTest.messagesSent, 
LoadTest.messageSize, LoadTest.messageSendTime);
-                    printSendStats(counter, LoadTest.messageSize, sendTime);
+                    printSendStats(LoadTest.messagesSent, 
LoadTest.messageSize);
                     
                 }
 
             }
         }catch ( Exception x ) {
             x.printStackTrace();
-            printSendStats(counter, messageSize, sendTime);
+            printSendStats(LoadTest.messagesSent, LoadTest.messageSize);
         }
+        endTest();
     }
 
-    private void printSendStats(long counter, int messageSize, long sendTime) {
-        float cnt = (float)counter;
-        float size = (float)messageSize;
-        float time = (float)sendTime / 1000;
-        log.info("****SEND STATS-"+Thread.currentThread().getName()+"*****"+
-                 "\n\tMessage count:"+counter+
-                 "\n\tTotal bytes  :"+(long)(size*cnt)+
-                 "\n\tTotal seconds:"+(time)+
-                 "\n\tBytes/second :"+(size*cnt/time)+
-                 "\n\tMBytes/second:"+(size*cnt/time/1024f/1024f));
-    }
+    
 
     /**
      * memberAdded
@@ -169,7 +184,7 @@
     }
     
     public boolean accept(Serializable msg, Member mbr){ 
-       return (msg instanceof LoadMessage);
+       return (msg instanceof LoadMessage) || (msg instanceof ByteMessage);
     }
     
     public void messageReceived(Serializable msg, Member mbr){ 
@@ -180,12 +195,13 @@
             }
         }
         
-        if ( msg instanceof ByteMessage ) {
+        if ( msg instanceof ByteMessage && !(msg instanceof LoadMessage)) {
             LoadMessage tmp = new LoadMessage();
             tmp.setMessage(((ByteMessage)msg).getMessage());
             msg = tmp;
             tmp = null;
         }
+        
         
         bytesReceived+=((LoadMessage)msg).getMessage().length;
         messagesReceived++;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to