org.apache.mina.management

Class StatCollector


public class StatCollector
extends java.lang.Object

Collects statistics of an IoService. It's polling all the sessions of a given IoService. It's attaching a IoSessionStat object to all the sessions polled and filling the throughput values. Usage :
 IoService service = ...
 StatCollector collector = new StatCollector( service );
 collector.start();
 
By default the StatCollector is polling the sessions every 5 seconds. You can give a different polling time using a second constructor.

Field Summary

static String
KEY
The session attribute key for IoSessionStat.

Constructor Summary

StatCollector(IoService service)
Create a stat collector for the given service with a default polling time of 5 seconds.
StatCollector(IoService service, int pollingInterval)
create a stat collector for the given given service

Method Summary

float
getBytesReadThroughput()
float
getBytesWrittenThroughput()
float
getMsgReadThroughput()
float
getMsgWrittenThroughput()
long
getSessionCount()
long
getTotalProcessedSessions()
total number of sessions processed by the stat collector
boolean
isRunning()
is the stat collector started and polling the IoSession of the IoService
void
start()
Start collecting stats for the IoSession of the service.
void
stop()
Stop collecting stats.

Field Details

KEY

public static final String KEY

Constructor Details

StatCollector

public StatCollector(IoService service)
Create a stat collector for the given service with a default polling time of 5 seconds.
Parameters:
service - the IoService to inspect

StatCollector

public StatCollector(IoService service,
                     int pollingInterval)
create a stat collector for the given given service
Parameters:
service - the IoService to inspect
pollingInterval - milliseconds

Method Details

getBytesReadThroughput

public float getBytesReadThroughput()

getBytesWrittenThroughput

public float getBytesWrittenThroughput()

getMsgReadThroughput

public float getMsgReadThroughput()

getMsgWrittenThroughput

public float getMsgWrittenThroughput()

getSessionCount

public long getSessionCount()

getTotalProcessedSessions

public long getTotalProcessedSessions()
total number of sessions processed by the stat collector
Returns:
number of sessions

isRunning

public boolean isRunning()
Returns:
true if started

start

public void start()
Start collecting stats for the IoSession of the service. New sessions or destroyed will be automaticly added or removed.

stop

public void stop()
Stop collecting stats. all the IoSessionStat object will be removed of the polled session attachements.