-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/netmem.c,v 6.18 2001-11-18 11:56:21 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/netmem.c,v 6.19 2002-02-27 17:59:33 hadaq Exp $";
#define _GNU_C_SOURCE
desParam(param);
}
+static char *unit(unsigned long v) {
+ static char retVal[6];
+ static char u[] = " kM";
+ int i;
+
+ for (i = 0; v >= 10000 && i < sizeof(u) - 2; v /= 1000, i++) {
+ }
+ sprintf(retVal, "%4d%c", v, u[i]);
+
+ return retVal;
+}
+
+static void statsDump(TheArgs *theArgs, NetTrans **my, int interval) {
+ static unsigned long lastBR[32];
+ static time_t lastTime = 0;
+ time_t dT;
+ int i;
+
+
+ if (theArgs->isStandalone
+ && strcmp(theArgs->verbosity, "info") == 0
+ && (dT = (time(NULL) - lastTime)) >= interval
+ ) {
+ puts("==============================================================================");
+ for (i = 0; i < theArgs->nrOfMsgs; i++) {
+ printf("%17s%02d:%6s",
+ "pktsReceived", i, unit(*my[i]->pktsReceived));
+ printf("%17s%02d:%6s",
+ "pktsDiscarded", i, unit(*my[i]->pktsDiscarded));
+ printf("%15s%02d :%6s",
+ "bytesReceived", i, unit(*my[i]->bytesReceived));
+ putchar('\n');
+ printf("%17s%02d:%6s",
+ "msgsReceived", i, unit(*my[i]->msgsReceived));
+ printf("%17s%02d:%6s",
+ "msgsDiscarded", i, unit(*my[i]->msgsDiscarded));
+ printf("%15s%02d/s:%6s",
+ "bytesReceived", i, unit(*my[i]->bytesReceived - lastBR[i]));
+ lastBR[i] = *my[i]->bytesReceived;
+ putchar('\n');
+ puts("------------------------------------------------------------------------------");
+ }
+ lastTime += dT;
+ }
+}
+
static void storeInfoStart(const char *n, time_t t, TheArgs *my) {
Param pS, *p = &pS;
int i;
while (1) {
long msgsCompleted;
- Worker_dump(worker, 1);
+ statsDump(theArgs, netTrans, 1);
for (i = 0; i < theArgs->nrOfMsgs; i++) {
if (hadTu[i] == NULL) {
}
}
storeInfoStop(argv[0], time(NULL), worker);
- Worker_dump(worker, 0);
+ statsDump(theArgs, netTrans, 0);
for (i = 0; i < theArgs->nrOfMsgs; i++) {
ShmTrans_remove(shmTrans[i]);