Starting from version G2 1.1, CAVERNsoft
provides its own performance monitoring inbuilt in most of the networking
classes. The performance calculations are done automatically when the network
is used and the statistics can be extracted as and when the user wants.
The performance monitoring output conforms
to the netlogger format,
which is a list of <label,value> pairs as given below.
Performance Monitoring has been so far incorporated in the following lower/middle level classes of CAVERNsoft:
CAVERNdb_client_c
CAVERNdb_server_c
CAVERNnet_http_c
CAVERNnet_remoteFileIOClient32_c
CAVERNnet_remoteFileIOClient64_c
CAVERNnet_remoteParallelFileIOClient32_c
CAVERNnet_remoteParallelFileIOClient64_c
CAVERNnet_rpcCaller_c
CAVERNnet_rpcManager_c
CAVERNnet_tcpClient_c
CAVERNnet_tcpReflector_c
CAVERNnet_tcpReflectorClient_c
CAVERNnet_udp_c
CAVERNnet_udpReflector_c
A sample output of performance monitoring:
TIME=957394715.541224
SELF_IP=131.193.48.164
REMOTE_IP=131.193.76.38
SELF_PORT=4173
REMOTE_PORT=7879
STREAM_INFO=laurel.evl.uic.edu_AVATAR
COMMENT=TRACKER_UDP
MIN_LAT=0.022356
AVG_LAT=0.180702
MAX_LAT=0.450861
INST_LAT=0.022356
STAL=0.180702
JITTER=0.119149
MIN_IMD=0.592920
AVG_IMD=0.963514
MAX_IMD=1.359665
INST_IMD=0.592920
AVG_RBW=93.234949
INST_RBW=129.865108
AVG_SBW=188.231633
INST_SBW=64.317703
STAB=88.706944 BURSTINESS=26.266559
TOTAL_READ=539
TOTAL_SENT=3696
PACKETS_READ=7
PACKETS_SENT=48
The parameters measured (represented by symbols in the above log entry) along with the units of measurement are listed below:
1. Time
Stamp (TIME)
Unit:
Seconds
Description: Time Stamp recorded at the time of logging
Note on the calculations:
The time recorded has a microsecond level
of accuracy in all platforms, but for the Windows version, this function
gives a millisecond level accuracy only for a 486XT or older machines (since
they do not have a high performance counter). So, for a microsecond level
accuracy in Windows, Pentiums or higher machines should be used.
2. Self
IP (SELF_IP)
Description: IP address of the machine on which logging is
done
3. Remote
IP (REMOTE_IP)
Description: IP address of the remote machine on the other
end of the network flow
2. Self
Port (SELF_PORT)
Description: Port number of the machine on which logging is
done
3. Remote
Port (REMOTE_PORT)
Description: Port number of the remote machine on the other
end of the network flow
4. Stream
Information (STREAM_INFO)
Description: Label giving information about the stream being
monitored
5. Comment
(COMMENT)
Description: Comment field to be used by the user typically
to indicate events or any other extra information required
6. Minimum
Latency (MIN_LAT)
Unit:
Seconds
Description: Minimum of the instantaneous latencies recorded
7. Average
Latency (AVG_LAT)
Unit:
Seconds
Description: Average of the instantaneous latencies recorded
8. Maximum
Latency (MAX_LAT)
Unit:
Seconds
Description: Maximum of the instantaneous latencies recorded
9.
Instantaneous Latency (INST_LAT)
Unit:
Seconds
Description: Latest instantaneous value of the latency measured
10. Short
Term Average Latency (STAL)
Unit:
Seconds
Description: Moving Average of a fixed number of instantaneous
latencies recorded (in CAVERNsoft STAL is calculated over 100 packets)
11. Jitter
(JITTER)
Unit:
Seconds
Description: Jitter - calculated as the average deviation
of instantaneous latencies from the respective Short Term Average Latencies
recorded each time
Note on the calculations: All latencies are one way, measured as the time taken for a packet to be transmitted from one machine to another
12. Minimum
Inter-Message Delay (MIN_IMD)
Unit:
Seconds
Description: Minimum of the instantaneous inter-message delays
recorded
13. Average
Inter-Message Delay (AVG_IMD)
Unit:
Seconds
Description: Average of the instantaneous inter-message delays
recorded
14. Maximum
Inter-Message Delay (MAX_IMD)
Unit:
Seconds
Description: Maximum of the instantaneous inter-message delays
recorded
15. Instantaneous
Inter-Message Delay (INST_IMD)
Unit:
Seconds
Description: Latest instantaneous value of the inter-message
delay measured
Note on the calculations: Inter-Message delay is calculated as the time interval between two packets received
16. Average
Read Bandwidth (AVG_RBW)
Unit:
Bytes per second
Description: Overall average read bandwidth measured
(calculated as the overall rate at which data was read till the instance
of logging)
17.
Instantaneous Read Bandwidth (INST_RBW)
Unit:
Bytes per second
Description: Instantaneous value of the read bandwidth
recorded
18. Average
Send Bandwidth (AVG_SBW)
Unit:
Bytes per second
Description: Overall average send bandwidth measured
(calculated as the overall rate at which data was sent till the instance
of logging)
19.
Instantaneous Send Bandwidth (INST_SBW)
Unit:
Bytes per second
Description: Instantaneous value of the send bandwidth
recorded
20. Short
Term Average Bandwidth (STAB)
Unit:
Bytes per second
Description: Moving Average of a fixed number of instantaneous
bandwidths recorded (in CAVERNsoft STAB is calculated over 100 packets)
21. Burstiness
(BURSTINESS)
Unit:
Bytes per second
Description: Burstiness - calculated as the average deviation
of instantaneous bandwidths from the respective Short Term Average bandwidths
recorded each time
22. Total
Data Read (TOTAL_READ)
Unit:
Bytes
Description: Throughput - the total number of bytes read
so far
23. Total
Data Sent (TOTAL_SENT)
Unit:
Bytes
Description: Throughput - the total number of bytes sent
so far
24. Number
of Packets Read (PACKETS_READ)
Description: Packet Count - giving the number of packets
read so far
25. Number
of Packets Sent (PACKETS_SENT)
Description: Packet Count - giving the number of packets
sent so far