#include <CAVERNnet_perfMonitor_c.hxx>
Inheritance diagram for CAVERNnet_perfMonitor_c::
Public Methods | |
CAVERNnet_perfMonitor_c () | |
~CAVERNnet_perfMonitor_c () | |
void | setIPs (char *selfIp, char *remoteIp) |
void | setPorts (int selfPort, int remotePort) |
void | showStats (char *streamInfo, char *comment) |
int | logStats (char *streamInfo, char *comment, FILE *filePtr) |
int | sendStats (char *streamInfo, char *comment) |
int | initSendStats (char *monitorClientIP, int port=CAVERNnet_perfDaemon_c::DEFAULT_PORT) |
void | exitSendStats () |
Static Public Attributes | |
const int | OK |
Operation successful. | |
const int | FAILED |
Operation Failed. | |
Private Methods | |
void | updateStats (char *streamInfo, char *comment) |
Private Attributes | |
char* | selfIp |
char * | remoteIp |
int | selfPort |
int | remotePort |
char* | resultantStats |
CAVERNnet_perfDaemonClient_c* | aClient |
Along with the API documentation, is also included, a note on the calculated parameters, the units of calculation and how they are calculated.
As mentioned, in general, an instance of this class need not be created by the user. Instead the API's provided in the higher level classes (like the showStats, logStats and sendStats) should be directly invoked whenever network monitoring statistics is required. This is because the monitoring is done in all the networking classes automatically for every data flow over a network, using an instance of this class. The user can hence use the API's of the higher level classes as mentioned above, which would ensure statistics to be extracted whenever required.
API calls should be made by the user as often as required to obtain the monitored statistics in the netlogger format ( <label,value> pairs).
Currectly, the following capabilities have been provided with the performance monitoring: statistics can be displayed instantaneously, logged into a user specified logfile or sent to another remote daemon for further analysis
|
Properly delete the perfDaemonClient after sendStats is done |
|
Initialize sendStats - provide the IP of the perfDaemon and an optional port number to connect to. This should be done initially before using the sendStats API.
|
|
This logs performance statistics in a file. The user opens a file and passes the file pointer with this function and results of monitoring are written into the logfile.
|
|
Sends the performance statistics to a remote perfdaemon -for further analysis of the monitored data - the initSendStats API should be called first, before calling a sendStats (In order to connect to the perfdaemon initially) (Note: A typical example of sendStats is given in the (CAVERN_DISTRIB_DIR/demos/tcpreflector/ directory)
|
|
Displays the resultant statistics instantaneously in the netlogger format - this should be typically done after a read/write is done a network. Also, it should be noted that a showStats call should be made at the end of atleast one send and receive for two-way information (the same applies for logStats and sendStats)
|