From: hadaq Date: Wed, 27 Feb 2002 17:59:33 +0000 (+0000) Subject: Nice outout for netmem also X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=85efad0e4c9a46a385dfbe5a84c8f667fe389b18;p=daqdata.git Nice outout for netmem also --- diff --git a/hadaq/netmem.c b/hadaq/netmem.c index 37db1eb..7bbd104 100644 --- a/hadaq/netmem.c +++ b/hadaq/netmem.c @@ -1,4 +1,4 @@ -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 @@ -120,6 +120,52 @@ static int argsFromParam(TheArgs *my, int argc, char *argv[]) { 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; @@ -229,7 +275,7 @@ int main(int argc, char *argv[]) while (1) { long msgsCompleted; - Worker_dump(worker, 1); + statsDump(theArgs, netTrans, 1); for (i = 0; i < theArgs->nrOfMsgs; i++) { if (hadTu[i] == NULL) { @@ -249,7 +295,7 @@ int main(int argc, char *argv[]) } } 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]);