Improve performance of StatCollector and change obtained statistics
-------------------------------------------------------------------

                 Key: DIRMINA-332
                 URL: https://issues.apache.org/jira/browse/DIRMINA-332
             Project: MINA
          Issue Type: Improvement
          Components: Core
    Affects Versions: 1.0.1
            Reporter: Gaston Dombiak
             Fix For: 1.1
         Attachments: changes.patch

StatCollector#addSession and StatCollector#removeSession are blocking the 
entire object. Therefore under heavy load of new sessions or remove of sessions 
we will have a bottleneck. Instead we can take advantage of "new" Java 5 
concurrent util classes.

Throughput is incorrectly being estimated. It is missing packets/bytes and when 
dealing with a very big number of sessions the rate will be off. Instead of 
keeping stats of throughput  we can just stats of total traffic.So stats will 
change from --> to
MsgWrittenThroughput --> totalMsgWritten
MsgReadThroughput --> totalMsgRead
BytesWrittenThroughput --> totalBytesWritten
BytesReadThroughput --> totalBytesRead

The rate can then be estimated by the client of this class. We can add 2 new 
stats that are very helpful (at least to me):

1) scheduled writes: Number of current scheduled writes for all existing 
sessions.
2) queueved events: Number of current queued events for all existing sessions.

Stat #1 can always be estimated. However stat #2 can only be estimated when the 
ExecutorFilter is present in the filter chain.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to