Skip to content

Commit 2ef1710

Browse files
Improved logging
1 parent 87d187e commit 2ef1710

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

src/Cru/CruDmaChannel.cxx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "ExceptionInternal.h"
1010

1111
using namespace std::literals;
12+
using boost::format;
1213

1314
namespace AliceO2
1415
{
@@ -45,29 +46,31 @@ CruDmaChannel::CruDmaChannel(const Parameters& parameters)
4546
}
4647

4748
if (mFeatures.standalone) {
48-
auto logFeature = [&](auto name, bool enabled) { if (!enabled) { getLogger() << " " << name; }};
49-
getLogger() << "Standalone firmware features disabled:";
49+
std::stringstream stream;
50+
auto logFeature = [&](auto name, bool enabled) { if (!enabled) { stream << " " << name; }};
51+
stream << "Standalone firmware features disabled:";
5052
logFeature("firmware-info", mFeatures.firmwareInfo);
5153
logFeature("serial-number", mFeatures.serial);
5254
logFeature("temperature", mFeatures.temperature);
5355
logFeature("data-selection", mFeatures.dataSelection);
54-
getLogger() << InfoLogger::InfoLogger::endm;
56+
log(stream.str());
5557
}
5658

5759
// Insert links
5860
{
59-
getLogger() << "Enabling link(s): ";
61+
std::stringstream stream;
62+
stream << "Enabling link(s): ";
6063
auto linkMask = parameters.getLinkMask().value_or(Parameters::LinkMaskType{0});
6164
mLinks.reserve(linkMask.size());
6265
for (uint32_t id : linkMask) {
6366
if (id >= Cru::MAX_LINKS) {
6467
BOOST_THROW_EXCEPTION(InvalidLinkId() << ErrorInfo::Message("CRU does not support given link ID")
6568
<< ErrorInfo::LinkId(id));
6669
}
67-
getLogger() << id << " ";
70+
stream << id << " ";
6871
mLinks.push_back({static_cast<LinkId>(id)});
6972
}
70-
getLogger() << InfoLogger::InfoLogger::endm;
73+
log(stream.str());
7174
}
7275
}
7376

@@ -80,7 +83,7 @@ CruDmaChannel::~CruDmaChannel()
8083
{
8184
setBufferNonReady();
8285
if (mReadyQueue.size() > 0) {
83-
getLogger() << "Remaining superpages in the ready queue: " << mReadyQueue.size() << InfoLogger::InfoLogger::endm;
86+
log((format("Remaining superpages in the ready queue: %1%") % mReadyQueue.size()).str());
8487
}
8588
}
8689

@@ -139,14 +142,17 @@ void CruDmaChannel::setBufferNonReady()
139142
void CruDmaChannel::deviceStopDma()
140143
{
141144
setBufferNonReady();
145+
int moved = 0;
142146
for (auto& link : mLinks) {
143147
size_t size = link.queue.size();
144148
for (size_t i = 0; i < size; ++i) {
145149
transferSuperpageFromLinkToReady(link);
150+
moved++;
146151
}
147152
assert(link.queue.empty());
148153
}
149154
assert(mLinkQueuesTotalAvailable == LINK_QUEUE_CAPACITY * mLinks.size());
155+
log((format("Moved %1% remaining superpages to ready queue") % moved).str());
150156
}
151157

152158
void CruDmaChannel::deviceResetChannel(ResetLevel::type resetLevel)
@@ -265,11 +271,12 @@ void CruDmaChannel::fillSuperpages()
265271
if (available) {
266272
uint32_t amountAvailable = superpageCount - link.superpageCounter;
267273
if (amountAvailable > link.queue.size()) {
268-
getLogger() << InfoLogger::InfoLogger::Error
269-
<< "FATAL: Firmware reported more superpages available (" << amountAvailable <<
274+
std::stringstream stream;
275+
stream << "FATAL: Firmware reported more superpages available (" << amountAvailable <<
270276
") than should be present in FIFO (" << link.queue.size() << "); "
271277
<< link.superpageCounter << " superpages received from link " << int(link.id) << " according to driver, "
272-
<< superpageCount << " pushed according to firmware" << InfoLogger::InfoLogger::endm;
278+
<< superpageCount << " pushed according to firmware";
279+
log(stream.str(), InfoLogger::InfoLogger::Error);
273280
BOOST_THROW_EXCEPTION(Exception()
274281
<< ErrorInfo::Message("FATAL: Firmware reported more superpages available than should be present in FIFO"));
275282
}

0 commit comments

Comments
 (0)