package com.ausregistry.jtoolkit2.session;
import com.ausregistry.jtoolkit2.se.CommandType;
/**
* Provides the means to view individual or aggregate Session statistics.
*/
public interface StatsViewer {
/**
* Get the number of responses received having the given result code.
*/
long getResultCodeCount(int resultCode);
/**
* Get the number of commands of the given type that the Session(s)
* associated with this viewer has/have processed since creation.
*/
long getCommandCount();
/**
* Get the number of commands of the given type that the Session(s)
* associated with this viewer has/have processed recently (default: 1
* second).
*/
int getRecentCommandCount();
/**
* Get the total number of commands processed by Sessions associated with
* this StatsViewer.
*/
long getCommandCount(CommandType type);
/**
* Get the total number of commands recently processed by Sessions
* associated with this StatsViewer.
*/
int getRecentCommandCount(CommandType type);
/**
* Get the average response time (in milliseconds) of all transactions.
*/
long getAverageResponseTime();
/**
* Get the average response time (in milliseconds) of transactions of the
* given command type.
*/
long getAverageResponseTime(CommandType type);
/**
* Get the time interval since the most recent use of a Session associated
* with this StatsViewer.
*/
long getMruInterval();
}