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