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
1 change: 0 additions & 1 deletion Framework/include/QualityControl/QcInfoLogger.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ class QcInfoLogger
public:
_init()
{
std::cout << "BUILDING INSTANCE OF IL" << std::endl;
instance = new AliceO2::InfoLogger::InfoLogger();
mContext = new AliceO2::InfoLogger::InfoLoggerContext();
mContext->setField(infoContext::FieldName::Facility, "QC");
Expand Down
15 changes: 10 additions & 5 deletions Framework/src/runQC.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,7 @@ WorkflowSpec defineDataProcessing(const ConfigContext& config)
return {};
}

const std::string qcConfigurationSource = config.options().get<std::string>("config");
ILOG(Info, Support) << "Using config file '" << qcConfigurationSource << "'" << ENDM;
auto qcConfigurationSource = config.options().get<std::string>("config");

try {
// The online QC infrastructure is divided into two parts:
Expand All @@ -155,12 +154,20 @@ WorkflowSpec defineDataProcessing(const ConfigContext& config)
// - remote-batch - Checks and Aggregators are run on the QC objects inside a file created by a local-batch workflow.
// The results are stored in the database specified in the config file.

// we set the infologger levels as soon as possible to avoid spamming
auto configTree = ConfigurationFactory::getConfiguration(qcConfigurationSource)->getRecursive();
auto infologgerFilterDiscardDebug = configTree.get<bool>("qc.config.infologger.filterDiscardDebug", false);
auto infologgerDiscardLevel = configTree.get<int>("qc.config.infologger.filterDiscardLevel", 21);
ILOG_INST.filterDiscardDebug(infologgerFilterDiscardDebug);
ILOG_INST.filterDiscardLevel(infologgerDiscardLevel);

ILOG(Info, Support) << "Using config file '" << qcConfigurationSource << "'" << ENDM;

auto workflowType = getWorkflowType(config);
switch (workflowType) {
case WorkflowType::Standalone: {
ILOG(Info, Support) << "Creating a standalone QC workflow." << ENDM;

auto configTree = ConfigurationFactory::getConfiguration(qcConfigurationSource)->getRecursive();
if (!config.options().get<bool>("no-data-sampling") && configTree.count("dataSamplingPolicies") > 0) {
ILOG(Info, Support) << "Generating Data Sampling" << ENDM;
DataSampling::GenerateInfrastructure(specs, configTree.get_child("dataSamplingPolicies"));
Expand All @@ -176,7 +183,6 @@ WorkflowSpec defineDataProcessing(const ConfigContext& config)
? boost::asio::ip::host_name()
: config.options().get<std::string>("host");

auto configTree = ConfigurationFactory::getConfiguration(qcConfigurationSource)->getRecursive();
if (!config.options().get<bool>("no-data-sampling") && configTree.count("dataSamplingPolicies") > 0) {
ILOG(Info, Support) << "Generating Data Sampling" << ENDM;
DataSampling::GenerateInfrastructure(specs, configTree.get_child("dataSamplingPolicies"), 1, host);
Expand All @@ -197,7 +203,6 @@ WorkflowSpec defineDataProcessing(const ConfigContext& config)
}
case WorkflowType::LocalBatch: {
ILOG(Info, Support) << "Creating a local batch QC workflow." << ENDM;
auto configTree = ConfigurationFactory::getConfiguration(qcConfigurationSource)->getRecursive();
if (!config.options().get<bool>("no-data-sampling") && configTree.count("dataSamplingPolicies") > 0) {
ILOG(Info, Support) << "Generating Data Sampling" << ENDM;
DataSampling::GenerateInfrastructure(specs, configTree.get_child("dataSamplingPolicies"));
Expand Down