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

Reply via email to