Skip to content

Commit e07019a

Browse files
committed
more stfb stats
1 parent 7a12fd3 commit e07019a

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/ConsumerStats.cxx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,27 @@ class ConsumerStats : public Consumer
124124
snapshot.timestamp = time(NULL);
125125
gReadoutStats.counters.pagesPendingFairMQtime = 0;
126126
gReadoutStats.counters.pagesPendingFairMQreleased = 0;
127+
gReadoutStats.counters.ddBytesCopied = 0;
128+
gReadoutStats.counters.ddHBFRepacked = 0;
127129
gReadoutStats.counters.notify++;
128130
unsigned long long nRfmq = snapshot.pagesPendingFairMQreleased.load();
129131
int tfidfmq = (int)snapshot.timeframeIdFairMQ.load();
130132
double avgTfmq = 0.0;
131133
double rRfmq = 0.0;
134+
double ddBytesCopiedRate = 0; // copy rate in MB/s
135+
double ddHBFRepackedRate = 0; // repack rate in Hz
136+
double ddMemoryEfficiency = 0; // memory efficiency in %
137+
132138
if (nRfmq) {
133139
avgTfmq = (snapshot.pagesPendingFairMQtime.load() / nRfmq) / (1000000.0);
134140
}
135141
if (deltaT > 0) {
136142
rRfmq = nRfmq / deltaT;
143+
ddBytesCopiedRate = snapshot.ddBytesCopied / (1024*1024*deltaT);
144+
ddHBFRepackedRate = snapshot.ddHBFRepacked / deltaT;
145+
}
146+
if ((snapshot.ddPayloadPendingBytes > 0) && (snapshot.ddMemoryPendingBytes > 0)) {
147+
ddMemoryEfficiency = snapshot.ddPayloadPendingBytes * 100.0 / snapshot.ddMemoryPendingBytes;
137148
}
138149

139150
if (monitoringEnabled) {
@@ -156,6 +167,11 @@ class ConsumerStats : public Consumer
156167
sendMetricNoException({ rRfmq, "readout.stfbMemoryPagesReleaseRate"});
157168
sendMetricNoException({ avgTfmq, "readout.stfbMemoryPagesReleaseLatency"});
158169
sendMetricNoException({ tfidfmq, "readout.stfbTimeframeId"});
170+
sendMetricNoException({ ddBytesCopiedRate, "readout.stfbHBFCopyRate"});
171+
sendMetricNoException({ ddHBFRepackedRate, "readout.stfbHBFRepackedRate"});
172+
sendMetricNoException({ ddMemoryEfficiency, "readout.stfbMemoryEfficiency"});
173+
sendMetricNoException({ snapshot.ddPayloadPendingBytes, "readout.stfbDataBytesLocked"});
174+
sendMetricNoException({ snapshot.ddMemoryPendingBytes, "readout.stfbMemoryBytesLocked"});
159175

160176
// buffer stats
161177
for (int i = 0; i < ReadoutStatsMaxItems; i++) {
@@ -175,9 +191,12 @@ class ConsumerStats : public Consumer
175191

176192
if (consoleUpdate) {
177193
if (deltaT > 0) {
178-
theLog.log(LogInfoOps_(3003), "Last interval (%.2fs): blocksRx=%llu, block rate=%.2lf, bytesRx=%llu, rate=%s", deltaT, (unsigned long long)counterBlocksDiff, counterBlocksDiff / deltaT, (unsigned long long)counterBytesDiff, NumberOfBytesToString(counterBytesDiff * 8 / deltaT, "b/s", 1000).c_str());
194+
theLog.log(LogInfoOps_(3003), "Last interval (%.2fs): blocksRx=%llu, block rate=%.2lf, block size = %.1lfkB, bytesRx=%llu, rate=%s", deltaT, (unsigned long long)counterBlocksDiff, counterBlocksDiff / deltaT, counterBytesDiff / (1024.0*counterBlocksDiff), (unsigned long long)counterBytesDiff, NumberOfBytesToString(counterBytesDiff * 8 / deltaT, "b/s", 1000).c_str());
179195
if (gReadoutStats.isFairMQ) {
180196
theLog.log(LogInfoOps_(3003), "STFB locked pages: current=%llu, released = %llu, release rate=%.2lf Hz, latency=%.3lf s, current TF = %d", (unsigned long long) snapshot.pagesPendingFairMQ.load(), nRfmq, rRfmq, avgTfmq, tfidfmq );
197+
theLog.log(LogInfoOps_(3003), "STFB HBF repacking = %.1lf Hz, copy overhead = %.1lf MB/s", ddHBFRepackedRate, ddBytesCopiedRate);
198+
theLog.log(LogInfoOps_(3003), "STFB memory efficiency = %.1lf %%, data buffered = %.1lf MB, real memory used %.1lf MB",
199+
ddMemoryEfficiency, snapshot.ddPayloadPendingBytes / (1024.0*1024.0), snapshot.ddMemoryPendingBytes / (1024.0*1024.0) );
181200
}
182201
std::string bufferReport;
183202
for (int i = 0; i < ReadoutStatsMaxItems; i++) {

0 commit comments

Comments
 (0)