public class ProfilerTimerFilter extends IoFilterAdapter
IoFilterAdapter
class to execute. The basic
premise of the logic in this class is to get the current time
at the beginning of the method, call method on nextFilter, and
then get the current time again. An example of how to use
the filter is:
ProfilerTimerFilter profiler = new ProfilerTimerFilter( TimeUnit.MILLISECOND, IoEventType.MESSAGE_RECEIVED); chain.addFirst("Profiler", profiler);
IoFilter.NextFilter
Constructor and Description |
---|
ProfilerTimerFilter()
Creates a new instance of ProfilerFilter.
|
ProfilerTimerFilter(java.util.concurrent.TimeUnit unit)
Creates a new instance of ProfilerFilter.
|
ProfilerTimerFilter(java.util.concurrent.TimeUnit unit,
java.util.EnumSet<IoEventType> eventTypes)
Creates a new instance of ProfilerFilter.
|
ProfilerTimerFilter(java.util.concurrent.TimeUnit unit,
IoEventType firstEventType,
IoEventType... otherEventTypes)
Creates a new instance of ProfilerFilter.
|
Modifier and Type | Method and Description |
---|---|
void |
addEventToProfile(IoEventType type)
Add an
IoEventType to profile |
double |
getAverageTime(IoEventType type)
Get the average time for the specified method represented by the
IoEventType |
java.util.Set<IoEventType> |
getEventsToProfile()
Return the bitmask that is being used to display
timing information for this filter.
|
long |
getMaximumTime(IoEventType type)
The maximum time the method represented by
IoEventType has executed |
long |
getMinimumTime(IoEventType type)
The minimum time the method represented by
IoEventType has executed |
long |
getTotalCalls(IoEventType type)
Gets the total number of times the method has been called that is represented by the
IoEventType |
long |
getTotalTime(IoEventType type)
The total time this method has been executing
|
void |
messageReceived(IoFilter.NextFilter nextFilter,
IoSession session,
java.lang.Object message)
Filters
IoHandler.messageReceived(IoSession,Object)
event. |
void |
messageSent(IoFilter.NextFilter nextFilter,
IoSession session,
WriteRequest writeRequest)
Filters
IoHandler.messageSent(IoSession,Object)
event. |
void |
removeEventToProfile(IoEventType type)
Remove an
IoEventType to profile |
void |
sessionClosed(IoFilter.NextFilter nextFilter,
IoSession session)
Filters
IoHandler.sessionClosed(IoSession) event. |
void |
sessionCreated(IoFilter.NextFilter nextFilter,
IoSession session)
Filters
IoHandler.sessionCreated(IoSession) event. |
void |
sessionIdle(IoFilter.NextFilter nextFilter,
IoSession session,
IdleStatus status)
Filters
IoHandler.sessionIdle(IoSession,IdleStatus)
event. |
void |
sessionOpened(IoFilter.NextFilter nextFilter,
IoSession session)
Filters
IoHandler.sessionOpened(IoSession) event. |
void |
setEventsToProfile(IoEventType firstEventType,
IoEventType... otherEventTypes)
Set the bitmask in order to tell this filter which
methods to print out timing information
|
void |
setEventsToProfile(java.util.Set<IoEventType> eventTypes)
Set the bitmask in order to tell this filter which
methods to print out timing information
|
void |
setTimeUnit(java.util.concurrent.TimeUnit unit)
Sets the
TimeUnit being used. |
destroy, exceptionCaught, filterClose, filterSetTrafficMask, filterWrite, init, onPostAdd, onPostRemove, onPreAdd, onPreRemove
public ProfilerTimerFilter()
public ProfilerTimerFilter(java.util.concurrent.TimeUnit unit)
public ProfilerTimerFilter(java.util.concurrent.TimeUnit unit, IoEventType firstEventType, IoEventType... otherEventTypes)
new ProfilerTimerFilter( TimeUnit.MILLISECONDS, IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT);
unit
- Used to determine the level of precision you need in your timing.firstEventType
- an event type to profileotherEventTypes
- event types to profilepublic ProfilerTimerFilter(java.util.concurrent.TimeUnit unit, java.util.EnumSet<IoEventType> eventTypes)
new ProfilerTimerFilter( TimeUnit.MILLISECONDS, EnumSet.of(IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT));
unit
- Used to determine the level of precision you need in your timing.eventTypes
- A set of IoEventType
representation of the methods to profilepublic void setTimeUnit(java.util.concurrent.TimeUnit unit)
TimeUnit
being used.unit
- the new TimeUnit
to be used.public void addEventToProfile(IoEventType type)
IoEventType
to profiletype
- The IoEventType
to profilepublic void removeEventToProfile(IoEventType type)
IoEventType
to profiletype
- The IoEventType
to profilepublic java.util.Set<IoEventType> getEventsToProfile()
public void setEventsToProfile(IoEventType firstEventType, IoEventType... otherEventTypes)
public void setEventsToProfile(java.util.Set<IoEventType> eventTypes)
eventTypes
- An int representing the new methods that should be loggedpublic void messageReceived(IoFilter.NextFilter nextFilter, IoSession session, java.lang.Object message) throws java.lang.Exception
IoFilter
IoHandler.messageReceived(IoSession,Object)
event.messageReceived
in interface IoFilter
messageReceived
in class IoFilterAdapter
java.lang.Exception
public void messageSent(IoFilter.NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws java.lang.Exception
IoFilter
IoHandler.messageSent(IoSession,Object)
event.messageSent
in interface IoFilter
messageSent
in class IoFilterAdapter
java.lang.Exception
public void sessionClosed(IoFilter.NextFilter nextFilter, IoSession session) throws java.lang.Exception
IoFilter
IoHandler.sessionClosed(IoSession)
event.sessionClosed
in interface IoFilter
sessionClosed
in class IoFilterAdapter
java.lang.Exception
public void sessionCreated(IoFilter.NextFilter nextFilter, IoSession session) throws java.lang.Exception
IoFilter
IoHandler.sessionCreated(IoSession)
event.sessionCreated
in interface IoFilter
sessionCreated
in class IoFilterAdapter
java.lang.Exception
public void sessionIdle(IoFilter.NextFilter nextFilter, IoSession session, IdleStatus status) throws java.lang.Exception
IoFilter
IoHandler.sessionIdle(IoSession,IdleStatus)
event.sessionIdle
in interface IoFilter
sessionIdle
in class IoFilterAdapter
java.lang.Exception
public void sessionOpened(IoFilter.NextFilter nextFilter, IoSession session) throws java.lang.Exception
IoFilter
IoHandler.sessionOpened(IoSession)
event.sessionOpened
in interface IoFilter
sessionOpened
in class IoFilterAdapter
java.lang.Exception
public double getAverageTime(IoEventType type)
IoEventType
type
- The IoEventType
that the user wants to get the average method call timeIoEventType
public long getTotalCalls(IoEventType type)
IoEventType
type
- The IoEventType
that the user wants to get the total number of method callsIoEventType
public long getTotalTime(IoEventType type)
type
- The IoEventType
that the user wants to get the total time this method has
been executingIoEventType
public long getMinimumTime(IoEventType type)
IoEventType
has executedtype
- The IoEventType
that the user wants to get the minimum time this method has
executedIoEventType
public long getMaximumTime(IoEventType type)
IoEventType
has executedtype
- The IoEventType
that the user wants to get the maximum time this method has
executedIoEventType
Copyright © 2004-2019 Apache MINA Project. All Rights Reserved.