On 6/9/06, Julien Vermillard <[EMAIL PROTECTED]> wrote:
Le mardi 30 mai 2006 à 11:09 +0900, Trustin Lee a écrit : > On 5/29/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > > Quoting Julien Vermillard <[EMAIL PROTECTED]>: > > > > > Hi, > > > > > > I'm going to add thoughput calculation in my Session MBean (written and > > > read bytes per seconds). I'm going to look at session written and read > > > byte every seconds. I'm wondering if it's the good place for doing it, > > > or a separate filter is a better idea ? > > > > > > Julien > > > > > > BTW i found a thread on javagaming.org about Mina not started by me ;) > > > http://www.javagaming.org/forums/index.php?topic=13423.0 > > > > A separate filter would allow easy insertion/removal of this > > performance 'probe'. > > > > I implemented such statistics at the IoHandler level, and it is less > > flexible. > > > > I ran into the problem of defining 'work time' to compute throughput > > (server can be idle for a long time). I actually compute time in the > > 'messageReceived' and 'messageSent' of my IoHandler and sum them up. > > > > It is not ideal, because all time spent in Mina 'guts' is not taken > > into account. Maybe it would a good idea to compute this time in Mina > > itself. > > > > What do you think? > > > +1 here! It also would be really nice if we can provide a universal > IoFilter that gathers all kinds performance statistics in an extensible > manner so we can add any performance counters related with an IoSession very > easily. > > Trustin finaly I made a very simple implementation. I added it to the Session MBean. you start it calling the startAnalyze(int millisec) methods, it spawn a thread who calculate the throughtput every X milli-seconds. Look like that in jconsole. http://issues.apache.org/jira/secure/attachment/12335216/12335216_jconsole.png At least it's fitting my little needs :)
This is awesome! Nice job, Julien! One thing I'd like to see is to make this analyzer a filter and provide a JMX interface that allows you to add or remove filters dynamically from the console. Do you have any plan to do so? Cheers, 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
