Skip to content

Commit 553f017

Browse files
committed
added buffers stats in bytes
1 parent 897b1bb commit 553f017

File tree

5 files changed

+6
-1
lines changed

5 files changed

+6
-1
lines changed

src/ConsumerFMQchannel.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,7 @@ class ConsumerFMQchannel : public Consumer
415415
mp -> setWarningCallback(std::bind(&ConsumerFMQchannel::mplog, this, std::placeholders::_1));
416416
if ((mp->getId() >= 0) && (mp->getId() < ReadoutStatsMaxItems)) {
417417
mp -> setBufferStateVariable(&gReadoutStats.counters.bufferUsage[mp->getId()]);
418+
gReadoutStats.counters.bufferSize[mp->getId()] = memoryPoolPageSize * memoryPoolNumberOfPages;
418419
}
419420
}
420421
theLog.log(LogInfoDevel_(3008), "Using memory pool [%d]: %d pages x %d bytes", mp->getId(), memoryPoolNumberOfPages, memoryPoolPageSize);

src/ConsumerStats.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,9 @@ class ConsumerStats : public Consumer
176176
// buffer stats
177177
for (int i = 0; i < ReadoutStatsMaxItems; i++) {
178178
double r = snapshot.bufferUsage[i].load();
179+
uint64_t b = (uint64_t)(r * snapshot.bufferSize[i].load());
179180
if (r >= 0) {
180-
sendMetricNoException(Metric{(int)(r*100), "readout.bufferUsage"}.addTag(tags::Key::ID, i));
181+
sendMetricNoException(Metric{"readout.bufferUsage"}.addValue((int)(r*100), "value").addValue(b, "bytes").addTag(tags::Key::ID, i));
181182
}
182183
}
183184
}

src/ReadoutEquipment.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@ ReadoutEquipment::ReadoutEquipment(ConfigFile& cfg, std::string cfgEntryPoint, b
227227
mp -> setWarningCallback(std::bind(&ReadoutEquipment::mplog, this, std::placeholders::_1));
228228
if ((mp->getId() >= 0) && (mp->getId() < ReadoutStatsMaxItems)) {
229229
mp -> setBufferStateVariable(&gReadoutStats.counters.bufferUsage[mp->getId()]);
230+
gReadoutStats.counters.bufferSize[mp->getId()] = memoryPoolPageSize * memoryPoolNumberOfPages;
230231
}
231232
theLog.log(LogInfoDevel_(3008), "Using memory pool [%d]: %d pages x %d bytes", mp->getId(), memoryPoolNumberOfPages, memoryPoolPageSize);
232233

src/ReadoutStats.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ void ReadoutStats::reset(bool lightReset)
7373
if (!lightReset) {
7474
for (unsigned int i = 0; i < ReadoutStatsMaxItems; i++) {
7575
counters.bufferUsage[i] = -1.0;
76+
counters.bufferSize[i] = 0;
7677
}
7778
}
7879

src/ReadoutStats.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ struct ReadoutStatsCounters {
4848
std::atomic<uint32_t> logMessagesError; // number of log messages (severity: error)
4949
std::atomic<uint32_t> currentOrbit; // 1st orbit of current timeframe (last out of aggregator)
5050
std::atomic<double> bufferUsage[ReadoutStatsMaxItems]; // buffer usage. -1 means not used.
51+
std::atomic<uint64_t> bufferSize[ReadoutStatsMaxItems]; // buffer size in bytes. 0 means not used.
5152
std::atomic<uint64_t> ddHBFRepacked; // Data Distribution: number of HBF re-packed (HBF overlapping superpages)
5253
std::atomic<uint64_t> ddBytesCopied; // Data Distribution: number of bytes copied (HBF overlapping superpages)
5354
std::atomic<uint64_t> ddMemoryPendingBytes; // Data Distribution: number of bytes pending release in ConsumerFMQ (real memory)

0 commit comments

Comments
 (0)