Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Framework/src/AggregatorRunner.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ void AggregatorRunner::store(QualityObjectsWithAggregatorNameVector& qualityObje

if (!qualityObjectsWithAggregatorNames.empty() && !qualityObjectsWithAggregatorNames.front().second.empty()) {
const auto& qo = qualityObjectsWithAggregatorNames.front().second.front();
ILOG(Info, Devel) << "Validity of QO '" << qo->GetName() << "' is (" << qo->getValidity().getMin() << ", " << qo->getValidity().getMax() << ")" << ENDM;
ILOG(Debug, Devel) << "Validity of QO '" << qo->GetName() << "' is (" << qo->getValidity().getMin() << ", " << qo->getValidity().getMax() << ")" << ENDM;
}

} catch (boost::exception& e) {
Expand Down
2 changes: 1 addition & 1 deletion Framework/src/Bookkeeping.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ std::string readClientToken()
if (token.empty()) {
throw std::runtime_error("BKP token file '" + tokenFileName + "' was provided but it is empty, please provide a valid token");
}
ILOG(Debug, Devel) << "Using token from file qc_bkp_client_token" << ENDM;
ILOG(Debug, Devel) << "Using token from file qc_bkp_client_token.txt" << ENDM;
return token;
}

Expand Down
4 changes: 2 additions & 2 deletions Framework/src/CheckRunner.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ void CheckRunner::store(QualityObjectsType& qualityObjects, long validFrom)
}
if (!qualityObjects.empty()) {
auto& qo = qualityObjects.at(0);
ILOG(Info, Devel) << "Validity of QO '" << qo->GetName() << "' is (" << qo->getValidity().getMin() << ", " << qo->getValidity().getMax() << ")" << ENDM;
ILOG(Debug, Devel) << "Validity of QO '" << qo->GetName() << "' is (" << qo->getValidity().getMin() << ", " << qo->getValidity().getMax() << ")" << ENDM;
}
} catch (boost::exception& e) {
ILOG(Info, Support) << "Unable to " << diagnostic_information(e) << ENDM;
Expand All @@ -356,7 +356,7 @@ void CheckRunner::store(std::vector<std::shared_ptr<MonitorObject>>& monitorObje
}
if (!monitorObjects.empty()) {
auto& mo = monitorObjects.at(0);
ILOG(Info, Devel) << "Validity of MO '" << mo->GetName() << "' is (" << mo->getValidity().getMin() << ", " << mo->getValidity().getMax() << ")" << ENDM;
ILOG(Debug, Devel) << "Validity of MO '" << mo->GetName() << "' is (" << mo->getValidity().getMin() << ", " << mo->getValidity().getMax() << ")" << ENDM;
}
} catch (boost::exception& e) {
ILOG(Info, Support) << "Unable to " << diagnostic_information(e) << ENDM;
Expand Down
6 changes: 3 additions & 3 deletions Framework/src/TimekeeperAsynchronous.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,8 @@ validity_time_t
} else {
// an exception could be thrown here once the values above are set correctly in production
}
ILOG(Info, Devel) << "Received the following activity boundary propositions: " << ccdbTimestamp << ", " << ecsTimestamp
<< ", " << configTimestamp << ", " << currentTimestamp << ". Selected: " << selected << ENDM;
ILOG(Debug, Devel) << "Received the following activity boundary propositions: " << ccdbTimestamp << ", " << ecsTimestamp
<< ", " << configTimestamp << ", " << currentTimestamp << ". Selected: " << selected << ENDM;
return selected;
}

Expand All @@ -131,7 +131,7 @@ ValidityInterval TimekeeperAsynchronous::computeTimestampFromTimeframeID(uint32_
if (mOrbitsPerTF == 0) {
if (auto accessor = getCCDBOrbitsPerTFAccessor()) {
mOrbitsPerTF = accessor();
ILOG(Info, Support) << "Got nOrbitsPerTF " << mOrbitsPerTF << " for TF " << tfid << ENDM;
ILOG(Debug, Support) << "Got nOrbitsPerTF " << mOrbitsPerTF << " for TF " << tfid << ENDM;
} else {
ILOG(Error, Ops) << "CCDB OrbitsPerTF accessor is not available" << ENDM;
}
Expand Down
2 changes: 1 addition & 1 deletion Framework/src/TimekeeperSynchronous.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ void TimekeeperSynchronous::updateByTimeFrameID(uint32_t tfid)
{
if (tfid == 0) {
if (!mWarnedAboutTfIdZero) {
ILOG(Warning, Devel) << "Seen TFID equal to 0, which is not expected. Will not update TF-based validity, will not warn further." << ENDM;
ILOG(Debug, Devel) << "Seen TFID equal to 0, which is unexpected in production, but normal in test QC setups. Will not update TF-based validity, will not warn further." << ENDM;
mWarnedAboutTfIdZero = true;
}
return;
Expand Down
56 changes: 31 additions & 25 deletions Framework/src/runQC.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <boost/asio/ip/host_name.hpp>
#include <DataSampling/DataSampling.h>
#include <Configuration/ConfigurationFactory.h>
#include <Framework/DefaultsHelpers.h>
#include "QualityControl/runnerUtils.h"
#include "QualityControl/InfrastructureGenerator.h"
#include "QualityControl/QcInfoLogger.h"
Expand Down Expand Up @@ -108,7 +109,7 @@ bool validateArguments(const ConfigContext& config)
ILOG(Warning, Support) << "No configuration path specified, returning an empty workflow." << ENDM;
return false;
} else if (!std::regex_match(qcConfigurationSource, configBackend)) {
ILOG(Error, Support) << "The --config option expects a backend name (e.g. json:// or consul-json://) preceding the path. User specified: " << qcConfigurationSource << ENDM;
ILOG(Error, Ops) << "The --config option expects a backend name (e.g. json:// or consul-json://) preceding the path. User specified: " << qcConfigurationSource << ENDM;
return false;
}

Expand All @@ -119,13 +120,40 @@ bool validateArguments(const ConfigContext& config)
exclusiveOptions += !config.options().get<std::string>("local-batch").empty();
exclusiveOptions += !config.options().get<std::string>("remote-batch").empty();
if (exclusiveOptions > 1) {
ILOG(Error, Support) << "More than one of the following options was specified: --local, --remote, --local-batch, --remote--batch. This is not allowed, returning an empty workflow." << ENDM;
ILOG(Error, Ops) << "More than one of the following options was specified: --local, --remote, --local-batch, --remote-batch, --full-chain. This is not allowed, returning an empty workflow." << ENDM;
return false;
}

return true;
}

void setupInfologger(const ConfigContext& config, boost::property_tree::ptree configTree)
{
if (config.options().get<bool>("no-infologger")) {
quality_control::core::QcInfoLogger::disable();
} else {
auto infologgerFilterDiscardDebug = configTree.get<bool>("qc.config.infologger.filterDiscardDebug", true);
auto infologgerDiscardLevel = configTree.get<int>("qc.config.infologger.filterDiscardLevel", 21);
ILOG_INST.filterDiscardDebug(infologgerFilterDiscardDebug);
ILOG_INST.filterDiscardLevel(infologgerDiscardLevel);
}
auto infologgerDiscardFile = configTree.get<std::string>("qc.config.infologger.filterDiscardFile", "");
auto rotateMaxBytes = configTree.get<u_long>("qc.config.infologger.filterRotateMaxBytes", 0);
auto rotateMaxFiles = configTree.get<u_int>("qc.config.infologger.filterRotateMaxFiles", 0);
std::string debugInDiscardFile = configTree.get<std::string>("qc.config.infologger.debugInDiscardFile", "false");
auto debugInDiscardFileBool = debugInDiscardFile == "true";
ILOG_INST.filterDiscardSetFile(infologgerDiscardFile.c_str(), rotateMaxBytes, rotateMaxFiles, 0, !debugInDiscardFileBool /*Do not store Debug messages in file*/);

std::string id = "runQC";
for (size_t i = 0; i < config.argc(); i++) {
if (std::strcmp(config.argv()[i], "--id") == 0 && i + 1 < config.argc()) {
id = config.argv()[i + 1];
break;
}
}
o2::quality_control::core::QcInfoLogger::setFacility(id);
}

WorkflowSpec defineDataProcessing(const ConfigContext& config)
{
WorkflowSpec specs;
Expand Down Expand Up @@ -155,29 +183,7 @@ WorkflowSpec defineDataProcessing(const ConfigContext& config)
// we set the infologger levels as soon as possible to avoid spamming
auto configTree = ConfigurationFactory::getConfiguration(qcConfigurationSource)->getRecursive();

if (config.options().get<bool>("no-infologger")) {
quality_control::core::QcInfoLogger::disable();
} else {
auto infologgerFilterDiscardDebug = configTree.get<bool>("qc.config.infologger.filterDiscardDebug", true);
auto infologgerDiscardLevel = configTree.get<int>("qc.config.infologger.filterDiscardLevel", 21);
ILOG_INST.filterDiscardDebug(infologgerFilterDiscardDebug);
ILOG_INST.filterDiscardLevel(infologgerDiscardLevel);
}
auto infologgerDiscardFile = configTree.get<std::string>("qc.config.infologger.filterDiscardFile", "");
auto rotateMaxBytes = configTree.get<u_long>("qc.config.infologger.filterRotateMaxBytes", 0);
auto rotateMaxFiles = configTree.get<u_int>("qc.config.infologger.filterRotateMaxFiles", 0);
std::string debugInDiscardFile = configTree.get<std::string>("qc.config.infologger.debugInDiscardFile", "false");
auto debugInDiscardFileBool = debugInDiscardFile == "true";
ILOG_INST.filterDiscardSetFile(infologgerDiscardFile.c_str(), rotateMaxBytes, rotateMaxFiles, 0, !debugInDiscardFileBool /*Do not store Debug messages in file*/);

std::string id = "runQC";
for (size_t i = 0; i < config.argc(); i++) {
if (std::strcmp(config.argv()[i], "--id") == 0 && i + 1 < config.argc()) {
id = config.argv()[i + 1];
break;
}
}
o2::quality_control::core::QcInfoLogger::setFacility(id);
setupInfologger(config, configTree);

ILOG(Info, Devel) << "Using config file '" << qcConfigurationSource << "'" << ENDM;
auto keyValuesToOverride = quality_control::core::parseOverrideValues(config.options().get<std::string>("override-values"));
Expand Down