J-Sim v1.2.1-p7 API

drcl.net.tool
Class TrafficMonitor2

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.comp.Extension
              extended bydrcl.net.tool.TrafficMonitor2
All Implemented Interfaces:
java.lang.Cloneable, ObjectDuplicable, java.io.Serializable

public class TrafficMonitor2
extends Extension

This component monitors the incoming traffic and outputs its throughput and packet loss rate. This component works the same as TrafficMonitor except that it also calculates packet loss rate in the current window, provided that the packets contain correct ordering information. It calculates the loss rate by summing up the "gaps" found between the ordering information in the packets in the current window. The calculation may not be correct if packets may arrive out of order in different windows.

Same as TrafficMonitor, this component is configured by two parameters: the window size (default one second) and the output interval (default 0.5 second). It can operate in the "byte" mode, the "packet" mode, or both. The throughput events are exported at either the bytecount@ port or the pktcount@ port, and the loss rate exported at either the byteloss@ port or the pktloss@ port, both in percentage(%).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
static java.lang.String BYTE_COUNT_EVENT
          Name of the byte-mode throughput events.
static java.lang.String BYTE_COUNT_PORT_ID
          ID of the port to export the byte-mode throughput events.
static java.lang.String BYTE_LOSS_EVENT
          Name of the byte-mode packet-loss-rate events.
static java.lang.String BYTE_LOSS_PORT_ID
          ID of the port to export the byte-mode packet-loss-rate events.
static java.lang.String PKT_COUNT_EVENT
          Name of the packet-mode throughput events.
static java.lang.String PKT_COUNT_PORT_ID
          ID of the port to export the packet-mode throughput events.
static java.lang.String PKT_LOSS_EVENT
          Name of the packet-mode packet-loss-rate events.
static java.lang.String PKT_LOSS_PORT_ID
          ID of the port to export the packet-mode packet-loss-rate events.
 
Fields inherited from class drcl.comp.Component
FLAG_COMPONENT_NOTIFICATION, FLAG_DEBUG_ENABLED, FLAG_DIRECT_OUTPUT_ENABLED, FLAG_ENABLED, FLAG_ERROR_ENABLED, FLAG_EVENT_ENABLED, FLAG_EXPOSED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_HAS_EXPOSED_CHILD, FLAG_PORT_NOTIFICATION, FLAG_STARTED, FLAG_STOPPED, FLAG_TRACE_ENABLED, FLAG_UNDEFINED_START, id, infoPort, locks, name, parent, PortGroup_DEFAULT_GROUP, PortGroup_EVENT, PortGroup_SERVICE, Root, Trace_DATA, Trace_SEND
 
Constructor Summary
TrafficMonitor2()
           
TrafficMonitor2(java.lang.String id_)
           
 
Method Summary
 void duplicate(java.lang.Object source_)
          Duplicates the content of source_, including ID, name, child components and connections among them, to this component.
 double getOutputInterval()
          Returns the output interval (in second).
 double getWindowSize()
          Returns the size of the measurement window (in second).
 java.lang.String info()
          Returns information regarding this component.
 boolean isByteModeEnabled()
          Returns true if the "byte" mode is enabled.
 boolean isPktModeEnabled()
          Returns true if the "packet" mode is enabled.
protected  void process(java.lang.Object data_, Port inPort_)
          The main callback method of a component.
 void reset()
          Resets the component for being used anew.
 void setByteModeEnabled(boolean enabled_)
          Enables/disables the "byte" mode.
 void setOutputInterval(double int_)
          Sets the output interval (in second).
 void setPktModeEnabled(boolean enabled_)
          Enables/disables the "packet" mode.
 void setWindowSize(double size_)
          Sets the size of the measurement window (in second).
 
Methods inherited from class drcl.comp.Extension
isExtensionEnabled, portAdded, setExtensionEnabled
 
Methods inherited from class drcl.comp.Component
_resume, _start, _stop, addComponent, addComponent, addEventPort, addEventPort, addForkPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addServerPort, addServerPort, cancelFork, componentAdded, componentRemoved, connect, containsComponent, containsComponent, containsPort, debug, disconnectAll, disconnectAllPeers, disconnectAllPorts, drop, drop, error, error, expose, exposeEventPorts, exposePort, exposePort, exposePort, exposePort, exposePort, findAvailable, findAvailable, findAvailable, finishing, fork, forkAt, getAllComponents, getAllPorts, getAllPorts, getAllWiresInside, getAllWiresInsideOut, getAllWiresOut, getComponent, getComponentFlag, getComponentFlag, getContract, getContractHT, getContractHT, getDebugFlagsInBinary, getDebugLevelNames, getForkManager, getID, getName, getParent, getPort, getPort, getRoot, getRuntime, getTime, iduplicate, isAncestorOf, isComponentNotificationEnabled, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectlyRelatedTo, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortNotificationEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, portRemoved, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, resume, run, sduplicate, send, sendAt, setComponentFlag, setComponentFlag, setComponentNotificationEnabled, setContract, setDebugEnabled, setDebugEnabled, setDebugEnabledAt, setDebugEnabledAt, setDebugEnabledAt, setDirectOutputEnabled, setDirectOutputEnabled, setEnabled, setErrorNoticeEnabled, setErrorNoticeEnabled, setEventExportEnabled, setEventExportEnabled, setExecutionBoundary, setGarbageDisplayEnabled, setGarbageDisplayEnabled, setGarbageEnabled, setGarbageEnabled, setID, setID, setName, setPort, setPort, setPortNotificationEnabled, setPortRemovable, setRuntime, setTraceEnabled, setTraceEnabled, sleepFor, sleepUntil, stop, toString, unexpose, unlock, useLocalForkManager, useLocalForkManager, wait, yield
 
Methods inherited from class drcl.DrclObj
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PKT_COUNT_PORT_ID

public static final java.lang.String PKT_COUNT_PORT_ID
ID of the port to export the packet-mode throughput events.

See Also:
Constant Field Values

PKT_LOSS_PORT_ID

public static final java.lang.String PKT_LOSS_PORT_ID
ID of the port to export the packet-mode packet-loss-rate events.

See Also:
Constant Field Values

BYTE_COUNT_PORT_ID

public static final java.lang.String BYTE_COUNT_PORT_ID
ID of the port to export the byte-mode throughput events.

See Also:
Constant Field Values

BYTE_LOSS_PORT_ID

public static final java.lang.String BYTE_LOSS_PORT_ID
ID of the port to export the byte-mode packet-loss-rate events.

See Also:
Constant Field Values

PKT_COUNT_EVENT

public static final java.lang.String PKT_COUNT_EVENT
Name of the packet-mode throughput events.

See Also:
Constant Field Values

PKT_LOSS_EVENT

public static final java.lang.String PKT_LOSS_EVENT
Name of the packet-mode packet-loss-rate events.

See Also:
Constant Field Values

BYTE_COUNT_EVENT

public static final java.lang.String BYTE_COUNT_EVENT
Name of the byte-mode throughput events.

See Also:
Constant Field Values

BYTE_LOSS_EVENT

public static final java.lang.String BYTE_LOSS_EVENT
Name of the byte-mode packet-loss-rate events.

See Also:
Constant Field Values
Constructor Detail

TrafficMonitor2

public TrafficMonitor2()

TrafficMonitor2

public TrafficMonitor2(java.lang.String id_)
Method Detail

reset

public void reset()
Description copied from class: Component
Resets the component for being used anew. All the internal variables must be set to the initial state. All the ports and child components are reset as well.

Overrides:
reset in class Component

duplicate

public void duplicate(java.lang.Object source_)
Description copied from class: Component
Duplicates the content of source_, including ID, name, child components and connections among them, to this component. Subclasses need to override this method to copy its own variables.

Specified by:
duplicate in interface ObjectDuplicable
Overrides:
duplicate in class Component

process

protected void process(java.lang.Object data_,
                       Port inPort_)
Description copied from class: Component
The main callback method of a component. Being invoked when data arrives at a port of its.

Overrides:
process in class Component
Parameters:
data_ - the arrival data.
inPort_ - the port where the data arrives.

info

public java.lang.String info()
Description copied from class: Component
Returns information regarding this component. Subclasses should override this method to provide useful information at run time.

Overrides:
info in class Component

setOutputInterval

public void setOutputInterval(double int_)
Sets the output interval (in second).


getOutputInterval

public double getOutputInterval()
Returns the output interval (in second).


setWindowSize

public void setWindowSize(double size_)
Sets the size of the measurement window (in second).


getWindowSize

public double getWindowSize()
Returns the size of the measurement window (in second).


setPktModeEnabled

public void setPktModeEnabled(boolean enabled_)
Enables/disables the "packet" mode.


isPktModeEnabled

public boolean isPktModeEnabled()
Returns true if the "packet" mode is enabled.


setByteModeEnabled

public void setByteModeEnabled(boolean enabled_)
Enables/disables the "byte" mode.


isByteModeEnabled

public boolean isByteModeEnabled()
Returns true if the "byte" mode is enabled.


J-Sim v1.2.1-p7 API

Copyright © 1998-2003 Distributed Real-time Computing Lab (DRCL). All Rights Reserved.     ~ To J-Sim Home ~