Author: jvermillard
Date: Tue Nov 21 04:54:09 2006
New Revision: 477656

URL: http://svn.apache.org/viewvc?view=rev&rev=477656
Log:
DIRMINA-299 continued,
fixing the closed session buggy numbers

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/management/StatCollector.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/management/StatCollector.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/management/StatCollector.java?view=diff&rev=477656&r1=477655&r2=477656
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/management/StatCollector.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/management/StatCollector.java 
Tue Nov 21 04:54:09 2006
@@ -195,7 +195,10 @@
        {
            totalProcessedSessions += 1;
            polledSessions.add( session );
-           session.setAttribute( KEY, new IoSessionStat() );
+
+           IoSessionStat sessionStats = new IoSessionStat();
+           sessionStats.lastPollingTime = System.currentTimeMillis();
+           session.setAttribute( KEY, sessionStats );
        }
     }
 
@@ -291,10 +294,10 @@
                 }
                 
                 
-                msgWrittenThroughput = 0f;
-                msgReadThroughput = 0f;
-                bytesWrittenThroughput = 0f;
-                bytesReadThroughput = 0f;
+                float tmpMsgWrittenThroughput = 0f;
+                float tmpMsgReadThroughput = 0f;
+                float tmpBytesWrittenThroughput = 0f;
+                float tmpBytesReadThroughput = 0f;
                 
                 for ( Iterator iter = polledSessions.iterator(); 
iter.hasNext(); )
                 {
@@ -305,19 +308,24 @@
 
                     sessStat.byteReadThroughput = ( session.getReadBytes() - 
sessStat.lastByteRead )
                         / ( pollingInterval / 1000f );
-                    bytesReadThroughput += sessStat.byteReadThroughput;
+                    tmpBytesReadThroughput += sessStat.byteReadThroughput;
                     
                     sessStat.byteWrittenThroughput = ( 
session.getWrittenBytes() - sessStat.lastByteWrite )
                         / ( pollingInterval / 1000f );
-                    bytesWrittenThroughput += sessStat.byteWrittenThroughput;
+                    tmpBytesWrittenThroughput += 
sessStat.byteWrittenThroughput;
 
                     sessStat.messageReadThroughput = ( 
session.getReadMessages() - sessStat.lastMessageRead )
                         / ( pollingInterval / 1000f );
-                    msgReadThroughput += sessStat.messageReadThroughput;
+                    tmpMsgReadThroughput += sessStat.messageReadThroughput;
                     
                     sessStat.messageWrittenThroughput = ( 
session.getWrittenMessages() - sessStat.lastMessageWrite )
                         / ( pollingInterval / 1000f );
-                    msgWrittenThroughput += sessStat.messageWrittenThroughput;
+                    tmpMsgWrittenThroughput += 
sessStat.messageWrittenThroughput;
+                    
+                    msgWrittenThroughput = tmpMsgWrittenThroughput;
+                    msgReadThroughput = tmpMsgReadThroughput;
+                    bytesWrittenThroughput = tmpBytesWrittenThroughput;
+                    bytesReadThroughput = tmpMsgWrittenThroughput;
                     
                     sessStat.lastPollingTime = System.currentTimeMillis();
                 }


Reply via email to