Hi folks, 1) We need 'built-in per-service performance counter in IoService'.
In the recent talk with Julien about throughput monitoring, we realized that we need to reapproach to the throughput monitoring issue from a different point of view. Until now, we focused on providing per-session throughput. IoSession provided appropriate performance counters to calculate per-session throughput, but IoService didn't. But what would an administrator want to see from his management console? Julien and I think it's not throughput for an individual session but throughput for the service he or she is managing. For now, I/O threads doesn't provide any performance counter from the service standpoint, so we have a lot of difficulties in calculating meaningful performance factors without slowing down a network application. Of course, we still need to monitor an individual session's performance counters, but not usually for most cases, especially for stateless protocols like HTTP. 2) Gaston's patch Gaston's patch (https://issues.apache.org/jira/browse/DIRMINA-332) contains several interesting ideas. We could probably borrow his idea that uses a queue to reduce synchronization in 1.0.x. Other stuff would be incorporate with the 'built-in per-service performance counter in IoService' because there's no backward compatibility in the patch. I must admit that we have design flaw in per-service performance counter calculation, and it is hard to fix it without breaking backward compatibility or API addition. Resolving this issue in trunk ( 2.0-M1-SNAPSHOT) would be the better option, although it breaks my heart. :( Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP key fingerprints: * E167 E6AF E73A CBCE EE41 4A29 544D DE48 FE95 4E7E * B693 628E 6047 4F8F CFA4 455E 1C62 A7DC 0255 ECA6
