|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.javagroups.stack.Protocol | +--org.javagroups.protocols.PERF
Measures time taken by each protocol to process a message. PERF has to be the top protocol in a stack. It adds a special header to the message which travels with the message. Upon initialization, PERF creates a ProtocolObserver for each protocol layer in the stack. That observer notes the time taken for a message to travel through the layer it observes, and records the start time, end time and total time in the message itself (in the header created by PERF). When a message is received by PERF, the statistics for the message are appended to a file (or displayed in a GUI (not yet done)).
Because of different wall times between different machines, PERF should only be used for members in the same JVM. For members in different processes, physical clocks have to be synchronized: if they are only a few milliseconds aprt, the values will be incorrect. For example, to write all performance data to a file, do the following:
trace=true
in javagroups.properties
trace0=PERF.up DEBUG /tmp/trace.perf
. This will write
all trace output to the given file.
Field Summary |
---|
Fields inherited from class org.javagroups.stack.Protocol |
---|
down_handler, down_prot, down_queue, down_thread, down_thread_prio, observer, props, stack, up_handler, up_prot, up_queue, up_thread, up_thread_prio |
Constructor Summary | |
---|---|
PERF()
|
Method Summary | |
---|---|
void |
down(Event evt)
An event is to be sent down the stack. |
java.lang.String |
getName()
All protocol names have to be unique ! |
boolean |
setProperties(java.util.Properties props)
Configures the protocol initially. |
void |
start()
This method is called on a Channel.connect(String) . |
void |
up(Event evt)
An event was received from the layer below. |
Methods inherited from class org.javagroups.stack.Protocol |
---|
destroy, getDownProtocol, getDownQueue, getProperties, getUpProtocol, getUpQueue, init, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, setDownProtocol, setObserver, setPropertiesInternal, setProtocolStack, setUpProtocol, startDownHandler, startUpHandler, stop, stopInternal |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public PERF()
Method Detail |
public java.lang.String getName()
getName
in class Protocol
public boolean setProperties(java.util.Properties props)
Protocol
"loopback=false;unicast_inport=4444"
setProperties
in class Protocol
public void start() throws java.lang.Exception
Protocol
Channel.connect(String)
. Starts work.
Protocols are connected and queues are ready to receive events.
Will be called from bottom to top. This call will replace
the START and START_OK events.
start
in class Protocol
java.lang.Exception
- Thrown if protocol cannot be started successfully. This will cause the ProtocolStack
to fail, so Channel.connect(String)
will throw an exceptionpublic void up(Event evt)
Protocol
passDown()
or c) the event (or another event) is sent up
the stack using passUp()
.
up
in class Protocol
public void down(Event evt)
Protocol
passDown()
. In case of a GET_ADDRESS event (which tries to
retrieve the stack's address from one of the bottom layers), the layer may need to send
a new response event back up the stack using passUp()
.
down
in class Protocol
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |