Skip to content
Open
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/AggregatorConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ namespace o2::quality_control::checker

/// \brief Container for the configuration of an Aggregator.
struct AggregatorConfig : public o2::quality_control::core::UserCodeConfig {
std::string name;
UpdatePolicyType policyType = UpdatePolicyType::OnAny;
std::vector<std::string> objectNames{}; // fixme: if object names are empty, allObjects are true, consider reducing to one var // fixme: duplicates "sources"
bool allObjects = false;
Expand Down
1 change: 0 additions & 1 deletion Framework/include/QualityControl/CheckConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ namespace o2::quality_control::checker

/// \brief Container for the configuration of a Check.
struct CheckConfig : public o2::quality_control::core::UserCodeConfig {
std::string name;
UpdatePolicyType policyType = UpdatePolicyType::OnAny;
std::vector<std::string> objectNames{}; // fixme: if object names are empty, allObjects are true, consider reducing to one var
bool allObjects = false;
Expand Down
1 change: 0 additions & 1 deletion Framework/include/QualityControl/TaskRunnerConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ namespace o2::quality_control::core
/// \brief Container for the configuration of a Task
struct TaskRunnerConfig : public UserCodeConfig {
std::string deviceName;
std::string taskName;
std::vector<std::pair<size_t, size_t>> cycleDurations = {};
int maxNumberCycles;
bool critical;
Expand Down
3 changes: 3 additions & 0 deletions Framework/include/QualityControl/UserCodeConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,22 @@

#include "QualityControl/CustomParameters.h"
#include "QualityControl/stringUtils.h"
#include "QualityControl/DataSourceSpec.h"

namespace o2::quality_control::core
{

/// \brief Container for the configuration of a Task
struct UserCodeConfig {
std::string name; // task name, check name, etc...
std::string moduleName;
std::string className;
std::string detectorName = "MISC"; // intended to be the 3 letters code;
std::string consulUrl;
CustomParameters customParameters;
std::string ccdbUrl;
std::unordered_map<std::string, std::string> repository; // we need the full config of the database to build the database in the subclasses
std::vector<DataSourceSpec> dataSources;
};

} // namespace o2::quality_control::core
Expand Down
3 changes: 2 additions & 1 deletion Framework/src/Aggregator.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -240,14 +240,15 @@ AggregatorConfig Aggregator::extractConfig(const core::CommonSpec& commonSpec, c
}

return {
aggregatorSpec.aggregatorName,
aggregatorSpec.moduleName,
aggregatorSpec.className,
aggregatorSpec.detectorName,
commonSpec.consulUrl,
aggregatorSpec.customParameters,
commonSpec.conditionDBUrl,
commonSpec.database,
aggregatorSpec.aggregatorName,
aggregatorSpec.dataSources,
updatePolicy,
std::move(objectNames),
checkAllObjects,
Expand Down
3 changes: 2 additions & 1 deletion Framework/src/Check.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -267,14 +267,15 @@ CheckConfig Check::extractConfig(const CommonSpec& commonSpec, const CheckSpec&
}

return {
checkSpec.checkName,
checkSpec.moduleName,
checkSpec.className,
checkSpec.detectorName,
commonSpec.consulUrl,
checkSpec.customParameters,
commonSpec.conditionDBUrl,
commonSpec.database,
checkSpec.checkName,
checkSpec.dataSources,
updatePolicy,
std::move(objectNames),
checkAllObjects,
Expand Down
2 changes: 1 addition & 1 deletion Framework/src/TaskFactory.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ namespace o2::quality_control::core
TaskInterface* TaskFactory::create(const TaskRunnerConfig& taskConfig, std::shared_ptr<ObjectsManager> objectsManager)
{
auto* result = root_class_factory::create<TaskInterface>(taskConfig.moduleName, taskConfig.className);
result->setName(taskConfig.taskName);
result->setName(taskConfig.name);
result->setObjectsManager(objectsManager);
result->setCustomParameters(taskConfig.customParameters);
result->setCcdbUrl(taskConfig.ccdbUrl);
Expand Down
18 changes: 9 additions & 9 deletions Framework/src/TaskRunner.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ TaskRunner::~TaskRunner()

void TaskRunner::init(InitContext& iCtx)
{
core::initInfologger(iCtx, mTaskConfig.infologgerDiscardParameters, "task/" + mTaskConfig.taskName, mTaskConfig.detectorName);
core::initInfologger(iCtx, mTaskConfig.infologgerDiscardParameters, "task/" + mTaskConfig.name, mTaskConfig.detectorName);
ILOG(Info, Devel) << "Initializing TaskRunner" << ENDM;

printTaskConfig();
Expand All @@ -103,11 +103,11 @@ void TaskRunner::init(InitContext& iCtx)
// setup monitoring
mCollector = MonitoringFactory::Get(mTaskConfig.monitoringUrl);
mCollector->addGlobalTag(tags::Key::Subsystem, tags::Value::QC);
mCollector->addGlobalTag("TaskName", mTaskConfig.taskName);
mCollector->addGlobalTag("TaskName", mTaskConfig.name);
mCollector->addGlobalTag("DetectorName", mTaskConfig.detectorName);

// setup publisher
mObjectsManager = std::make_shared<ObjectsManager>(mTaskConfig.taskName, mTaskConfig.className, mTaskConfig.detectorName, mTaskConfig.parallelTaskID);
mObjectsManager = std::make_shared<ObjectsManager>(mTaskConfig.name, mTaskConfig.className, mTaskConfig.detectorName, mTaskConfig.parallelTaskID);
mObjectsManager->setMovingWindowsList(mTaskConfig.movingWindows);

// setup timekeeping
Expand Down Expand Up @@ -374,11 +374,11 @@ bool TaskRunner::isDataReady(const framework::InputRecord& inputs)

void TaskRunner::printTaskConfig() const
{
ILOG(Info, Devel) << "Configuration loaded > Task name : " << mTaskConfig.taskName //
<< " / Module name : " << mTaskConfig.moduleName //
<< " / Detector name : " << mTaskConfig.detectorName //
<< " / Max number cycles : " << mTaskConfig.maxNumberCycles //
<< " / critical : " << mTaskConfig.critical //
ILOG(Info, Devel) << "Configuration loaded > Task name : " << mTaskConfig.name //
<< " / Module name : " << mTaskConfig.moduleName //
<< " / Detector name : " << mTaskConfig.detectorName //
<< " / Max number cycles : " << mTaskConfig.maxNumberCycles //
<< " / critical : " << mTaskConfig.critical //
<< " / Save to file : " << mTaskConfig.saveToFile
<< " / Cycle duration seconds : ";
for (auto& [cycleDuration, period] : mTaskConfig.cycleDurations) {
Expand Down Expand Up @@ -437,7 +437,7 @@ void TaskRunner::registerToBookkeeping()
if (!gSystem->Getenv("O2_QC_DONT_REGISTER_IN_BK")) { // Set this variable to disable the registration
// register ourselves to the BK at the first cycle
ILOG(Debug, Devel) << "Registering taskRunner to BookKeeping" << ENDM;
Bookkeeping::getInstance().registerProcess(mActivity.mId, mTaskConfig.taskName, mTaskConfig.detectorName, bkp::DplProcessType::QC_TASK, "");
Bookkeeping::getInstance().registerProcess(mActivity.mId, mTaskConfig.name, mTaskConfig.detectorName, bkp::DplProcessType::QC_TASK, "");
}
}

Expand Down
3 changes: 2 additions & 1 deletion Framework/src/TaskRunnerFactory.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -169,15 +169,16 @@ TaskRunnerConfig TaskRunnerFactory::extractConfig(const CommonSpec& globalConfig
o2::globaltracking::RecoContainer rd;

return {
taskSpec.taskName,
taskSpec.moduleName,
taskSpec.className,
InfrastructureSpecReader::validateDetectorName(taskSpec.detectorName),
globalConfig.consulUrl,
taskSpec.customParameters,
globalConfig.conditionDBUrl,
globalConfig.database,
taskSpec.dataSources,
deviceName,
taskSpec.taskName,
multipleCycleDurations,
taskSpec.maxNumberCycles,
taskSpec.critical,
Expand Down
5 changes: 3 additions & 2 deletions Framework/test/testCheck.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -144,14 +144,15 @@ TEST_CASE("test_check_postprocessing")

TEST_CASE("test_check_activity")
{
Check check({ "QcSkeleton",
Check check({ "test",
"QcSkeleton",
"o2::quality_control_modules::skeleton::SkeletonCheck",
"TST",
"",
{},
"something",
{ { "implementation", "CCDB" }, { "host", "something" } },
"test",
{},
UpdatePolicyType::OnAny,
{},
true });
Expand Down
9 changes: 5 additions & 4 deletions Framework/test/testTaskInterface.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ TEST_CASE("test_invoke_all_TaskRunnerConfig_methods")
{
// This is maximum that we can do until we are able to test the DPL algorithms in isolation.
TaskRunnerConfig taskConfig;
auto* objectsManager = new ObjectsManager(taskConfig.taskName, taskConfig.className, taskConfig.detectorName, 0);
auto* objectsManager = new ObjectsManager(taskConfig.name, taskConfig.className, taskConfig.detectorName, 0);

test::TestTask testTask(objectsManager);
CHECK(testTask.test == 0);
Expand Down Expand Up @@ -167,22 +167,23 @@ TEST_CASE("test_invoke_all_TaskRunnerConfig_methods")
TEST_CASE("test_task_factory")
{
TaskRunnerConfig config{
"skeletonTask",
"QcSkeleton",
"o2::quality_control_modules::skeleton::SkeletonTask",
"TST",
"",
{},
"something",
{},
{},
"SkeletonTaskRunner",
"skeletonTask",
{ { 10, 1 } },
-1,
true,
""
};

auto objectsManager = make_shared<ObjectsManager>(config.taskName, config.className, config.detectorName, 0);
auto objectsManager = make_shared<ObjectsManager>(config.name, config.className, config.detectorName, 0);

TaskFactory taskFactory;
auto task = taskFactory.create(config, objectsManager);
Expand All @@ -205,7 +206,7 @@ TEST_CASE("retrieveCondition")

// retrieve it
TaskRunnerConfig taskConfig;
auto* objectsManager = new ObjectsManager(taskConfig.taskName, taskConfig.className, taskConfig.detectorName, 0);
auto* objectsManager = new ObjectsManager(taskConfig.name, taskConfig.className, taskConfig.detectorName, 0);
test::TestTask testTask(objectsManager);
testTask.setCcdbUrl("ccdb-test.cern.ch:8080");
o2::emcal::BadChannelMap* bcm = testTask.testRetrieveCondition();
Expand Down
10 changes: 5 additions & 5 deletions Modules/Example/test/testFactory.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ BOOST_AUTO_TEST_CASE(Task_Factory)
{
TaskFactory factory;
TaskRunnerConfig config;
config.taskName = "task";
config.name = "task";
config.moduleName = "QcCommon";
config.className = "o2::quality_control_modules::example::ExampleTask";
config.detectorName = "DAQ";
config.ccdbUrl = "something";
auto manager = make_shared<ObjectsManager>(config.taskName, config.className, config.detectorName, 0);
auto manager = make_shared<ObjectsManager>(config.name, config.className, config.detectorName, 0);
try {
gSystem->AddDynamicPath("lib:../../lib:../../../lib:.:"); // add local paths for the test
factory.create(config, manager);
Expand All @@ -46,15 +46,15 @@ BOOST_AUTO_TEST_CASE(Task_Factory_failures, *utf::depends_on("Task_Factory") /*
{
TaskFactory factory;
TaskRunnerConfig config;
auto manager = make_shared<ObjectsManager>(config.taskName, config.className, config.detectorName, 0);
auto manager = make_shared<ObjectsManager>(config.name, config.className, config.detectorName, 0);

config.taskName = "task";
config.name = "task";
config.moduleName = "WRONGNAME";
config.className = "o2::quality_control_modules::example::ExampleTask";
BOOST_CHECK_EXCEPTION(factory.create(config, manager), AliceO2::Common::FatalException, is_critical);

gSystem->AddDynamicPath("lib:../../lib:../../../lib:"); // add local paths for the test
config.taskName = "task";
config.name = "task";
config.moduleName = "QcCommon";
config.className = "WRONGCLASS";
BOOST_CHECK_EXCEPTION(factory.create(config, manager), AliceO2::Common::FatalException, is_critical);
Expand Down
4 changes: 2 additions & 2 deletions Modules/Example/test/testQcExample.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ BOOST_AUTO_TEST_CASE(insantiate_task)
ExampleTask task;
TaskRunnerConfig config;
config.consulUrl = "";
config.taskName = "qcExampleTest";
config.name = "qcExampleTest";
config.detectorName = "TST";
auto manager = make_shared<ObjectsManager>(config.taskName, "ExampleTask", config.detectorName, 0);
auto manager = make_shared<ObjectsManager>(config.name, "ExampleTask", config.detectorName, 0);
task.setObjectsManager(manager);
// task.initialize();// TODO

Expand Down
4 changes: 2 additions & 2 deletions Modules/Skeleton/test/testQcSkeleton.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ BOOST_AUTO_TEST_CASE(instantiate_task)
SkeletonTask task;
TaskRunnerConfig config;
config.consulUrl = "";
config.taskName = "qcSkeletonTest";
config.name = "qcSkeletonTest";
config.detectorName = "TST";
auto manager = make_shared<ObjectsManager>(config.taskName, "SkeletonTask", config.detectorName, 0);
auto manager = make_shared<ObjectsManager>(config.name, "SkeletonTask", config.detectorName, 0);
task.setObjectsManager(manager);
// o2::framework::InitContext ctx;
// task.initialize(ctx);
Expand Down