-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.107 2010-06-05 23:02:18 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.108 2010-06-14 14:37:43 hadaq Exp $";
#define _POSIX_C_SOURCE 199309L
#define SYSLOG_NAMES
-#undef RFIO
+#define RFIO
#include <unistd.h>
#include <getopt.h>
unsigned long *bytesWritten;
unsigned long *evtId[NEVTIDS];
unsigned long *trigNr[MAXINPATH];
+ unsigned long *errBit[MAXINPATH];
unsigned long *evtsRes;
unsigned long *evtbuildBuff[MAXINPATH];
unsigned long *nrOfMsgs;
dT = t - t_0;
if (dT >= interval) {
+
+ printf("\n");
+ printf("%s ", "%");
+
for (i = 0; i < theArgs->nrOfMsgs; i++) {
buffSize = 2 * theArgs->queueSize[i];
queueSize = HadTuQueue_size(shmtr[i]->rdQueue);
fillLevel = (unsigned long) (100. * queueSize + 0.5) / buffSize;
(*my->evtbuildBuff[i]) = fillLevel;
- /* printf("q[%02d]%5d\%\n",i,fillLevel); */
+ printf("%3d", fillLevel);
}
t_0 = t;
+
+ printf("\n");
+ printf("Q ", i, fillLevel);
+ for (i = 0; i < theArgs->nrOfMsgs; i++) {
+ printf("%3d", i);
+ }
+ printf("\n");
}
}
if (dT >= interval) {
int col = 0;
- fputs("==============================================================================\n", stderr);
- fprintf(stderr, "%19s:%6s", "evtsComplete ", unit(*my->evtsComplete));
- fprintf(stderr, "%19s:%6s", "evtsDiscarded ", unit(*my->evtsDiscarded));
- fprintf(stderr, "%19s:%6s", "bytesWritten ", unit(*my->bytesWritten));
- fputc('\n', stderr);
- fprintf(stderr, "%19s:%6s", "evtsDataError ", unit(*my->evtsDataError));
- fprintf(stderr, "%19s:%6s", "evtsTagError ", unit(*my->evtsTagError));
- fputc('\n', stderr);
-
- if ((long) (*my->evtsComplete) - (long) lastEC < 0) {
- lastEC = 0;
- lastED = 0;
- lastBW = 0;
- lastEE = 0;
- lastTE = 0;
+ fputs
+ ("=======================================================================================================================\n",
+ stderr);
+ if ((long) (*my->evtsComplete) - (long) lastEC > 0) {
+ fprintf(stderr, "%13s:%6s", "evtsComplete", unit(*my->evtsComplete));
+ fprintf(stderr, "%17s:%6s", "evtsComplete/s", unit((*my->evtsComplete - lastEC) / dT));
+ fprintf(stderr, "%17s:%6s", "evtsDiscarded", unit(*my->evtsDiscarded));
+ fprintf(stderr, "%17s:%6s", "evtsDiscarded/s", unit((*my->evtsDiscarded - lastED) / dT));
+ fprintf(stderr, "%17s:%7s", "bytesWritten", unit(*my->bytesWritten));
+ fputc('\n', stderr);
+ fprintf(stderr, "%13s:%6s", "evtsDataError", unit(*my->evtsDataError));
+ fprintf(stderr, "%17s:%6s", "evtsDataError/s", unit((*my->evtsDataError - lastEE) / dT));
+ fprintf(stderr, "%17s:%6s", "evtsTagError", unit(*my->evtsTagError));
+ fprintf(stderr, "%17s:%6s", "evtsTagError/s", unit((*my->evtsTagError - lastTE) / dT));
+ fprintf(stderr, "%17s:%6s", "bytesWritten/s", unit((*my->bytesWritten - lastBW) / dT));
+ fputc('\n', stderr);
+ } else {
+ fprintf(stderr, "%13s:%6s", "evtsComplete", unit(*my->evtsComplete));
+ fprintf(stderr, "%17s:%6s", "evtsComplete/s", "0");
+ fprintf(stderr, "%17s:%6s", "evtsDiscarded", unit(*my->evtsDiscarded));
+ fprintf(stderr, "%17s:%6s", "evtsDiscarded/s", "0");
+ fprintf(stderr, "%17s:%7s", "bytesWritten", unit(*my->bytesWritten));
+ fputc('\n', stderr);
+ fprintf(stderr, "%13s:%6s", "evtsDataError", unit(*my->evtsDataError));
+ fprintf(stderr, "%17s:%6s", "evtsDataError/s", "0");
+ fprintf(stderr, "%17s:%6s", "evtsTagError", unit(*my->evtsTagError));
+ fprintf(stderr, "%17s:%6s", "evtsTagError/s", "0");
+ fprintf(stderr, "%17s:%6s", "bytesWritten/s", "0");
+ fputc('\n', stderr);
}
- fprintf(stderr, "%19s:%6s", "evtsComplete/s", unit((*my->evtsComplete - lastEC) / dT));
- fprintf(stderr, "%19s:%6s", "evtsDiscarded/s", unit((*my->evtsDiscarded - lastED) / dT));
- fprintf(stderr, "%19s:%6s", "bytesWritten/s", unit((*my->bytesWritten - lastBW) / dT));
- fputc('\n', stderr);
- fprintf(stderr, "%19s:%6s", "evtsDataError/s", unit((*my->evtsDataError - lastEE) / dT));
- fprintf(stderr, "%19s:%6s", "evtsTagError/s", unit((*my->evtsTagError - lastTE) / dT));
- fputc('\n', stderr);
-
if (*my->evtsDiscarded - lastED > 0)
storeEvtStat(theArgs, *my->evtsDiscarded - lastED);
lastED = *my->evtsDiscarded;
lastBW = *my->bytesWritten;
- fputs("------------------------------------------------------------------------------\n", stderr);
+ fputs
+ ("-----------------------------------------------------------------------------------------------------------------------\n",
+ stderr);
col = 0;
for (i = 0; i < NEVTIDS; i++) {
if (*my->evtId[i] != 0) {
if (col != 0) {
fputc('\n', stderr);
}
+
+ fputs
+ ("---------------------------- trigger numbers --------------------------------------------------------------------------\n",
+ stderr);
col = 0;
+ for (i = 0; i < theArgs->nrOfMsgs; i++) {
+ fprintf(stderr, "%2d: 0x%08x ", i, *my->trigNr[i]);
+ if (++col == 8) {
+ fputc('\n', stderr);
+ col = 0;
+ }
+ }
+ if (col != 0) {
+ fputc('\n', stderr);
+ }
- fputs("------------------------------------------------------------------------------\n", stderr);
+ fputs
+ ("---------------------------- error bits -------------------------------------------------------------------------------\n",
+ stderr);
+ col = 0;
for (i = 0; i < theArgs->nrOfMsgs; i++) {
- fprintf(stderr, "%12s%02d: 0x%08x", "trigNr", i, *my->trigNr[i]);
- if (++col == 3) {
+ fprintf(stderr, "%2d: 0x%08x ", i, *my->errBit[i]);
+ if (++col == 8) {
fputc('\n', stderr);
col = 0;
}
if (col != 0) {
fputc('\n', stderr);
}
+
t0 = t;
}
}
sprintf(buf, "trigNr%d", i);
theStats->trigNr[i] = Worker_addStatistic(worker, buf);
}
+ for (i = 0; i < theArgs->nrOfMsgs; i++) {
+ char buf[WORKER_MAX_NAME_LEN];
+
+ sprintf(buf, "errBit%d", i);
+ theStats->errBit[i] = Worker_addStatistic(worker, buf);
+ }
/* Add statistic for fill levels of buffers. */
for (i = 0; i < theArgs->nrOfMsgs; i++) {
rfio_openConnection(theArgs);
#endif
+ uint32_t lastCurrTrigNr = 0;
+ int gap = 0;
+
currId = 0;
while (setjmp(terminateJmp) == 0) {
void *evt;
#endif
(*theStats->trigNr[i]) = SubEvt_trigNr(subEvt);
+ (*theStats->errBit[i]) = SubEvt_errBit(subEvt);
if (i == 0) {
currTrigNr = SubEvt_trigNr(subEvt) >> 8;