Skip to content

Commit b542b33

Browse files
authored
Propagate start and end of activity from config (#1415)
This will allow to provide SOR time for asynchronous and MC processing for CCDB object retrieval
1 parent b22b76d commit b542b33

11 files changed

Lines changed: 61 additions & 52 deletions

Framework/include/QualityControl/AggregatorRunnerConfig.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <unordered_map>
2121
#include <string>
2222
#include <Framework/DataProcessorSpec.h>
23+
#include "QualityControl/Activity.h"
2324

2425
namespace o2::quality_control::checker
2526
{
@@ -31,11 +32,7 @@ struct AggregatorRunnerConfig {
3132
bool infologgerFilterDiscardDebug = false;
3233
int infologgerDiscardLevel = 21;
3334
std::string infologgerDiscardFile{};
34-
int fallbackRunNumber = 0;
35-
int fallbackRunType = 0;
36-
std::string fallbackPeriodName{};
37-
std::string fallbackPassName{};
38-
std::string fallbackProvenance{};
35+
core::Activity fallbackActivity;
3936
framework::Options options{};
4037
};
4138

Framework/include/QualityControl/CheckRunnerConfig.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include <string>
2020
#include <unordered_map>
2121

22+
#include "QualityControl/Activity.h"
23+
2224
namespace o2::quality_control::checker
2325
{
2426

@@ -29,11 +31,7 @@ struct CheckRunnerConfig {
2931
bool infologgerFilterDiscardDebug = false;
3032
int infologgerDiscardLevel = 21;
3133
std::string infologgerDiscardFile{};
32-
int fallbackRunNumber = 0;
33-
int fallbackRunType = 0;
34-
std::string fallbackPeriodName{};
35-
std::string fallbackPassName{};
36-
std::string fallbackProvenance{};
34+
core::Activity fallbackActivity;
3735
framework::Options options{};
3836
};
3937

Framework/include/QualityControl/PostProcessingRunnerConfig.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ struct PostProcessingRunnerConfig {
3030
std::string consulUrl{};
3131
bool infologgerFilterDiscardDebug = false;
3232
int infologgerDiscardLevel = 21;
33-
std::string infologgerDiscardFile = "";
33+
std::string infologgerDiscardFile{};
3434
double periodSeconds = 10.0;
3535
std::string configKeyValues; // These are for ConfigurableParams, not for override-values!
3636
boost::property_tree::ptree configTree{};

Framework/include/QualityControl/TaskRunnerConfig.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include <unordered_map>
2222

2323
#include <Framework/DataProcessorSpec.h>
24+
#include "QualityControl/Activity.h"
2425

2526
namespace o2::quality_control::core
2627
{
@@ -47,11 +48,7 @@ struct TaskRunnerConfig {
4748
bool infologgerFilterDiscardDebug = false;
4849
int infologgerDiscardLevel = 21;
4950
std::string infologgerDiscardFile = "";
50-
int activityType = 0;
51-
std::string activityPeriodName = "";
52-
std::string activityPassName = "";
53-
std::string activityProvenance = "qc";
54-
int fallbackRunNumber = 0;
51+
Activity fallbackActivity;
5552
};
5653

5754
} // namespace o2::quality_control::core

Framework/include/QualityControl/runnerUtils.h

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include <QualityControl/QcInfoLogger.h>
2727
#include <boost/property_tree/json_parser.hpp>
2828
#include <CommonUtils/StringUtils.h>
29+
#include "QualityControl/Activity.h"
2930

3031
namespace o2::quality_control::core
3132
{
@@ -125,18 +126,26 @@ inline std::string computePeriodName(const framework::ServiceRegistry& services,
125126

126127
inline std::string computePassName(const std::string& fallbackPassName = "")
127128
{
128-
std::string passName;
129-
passName = fallbackPassName;
130-
ILOG(Debug, Devel) << "Pass Name returned by computePassName : " << passName << ENDM;
131-
return passName;
129+
ILOG(Debug, Devel) << "Pass Name returned by computePassName : " << fallbackPassName << ENDM;
130+
return fallbackPassName;
132131
}
133132

134133
inline std::string computeProvenance(const std::string& fallbackProvenance = "")
135134
{
136-
std::string provenance;
137-
provenance = fallbackProvenance;
138-
ILOG(Debug, Devel) << "Provenance returned by computeProvenance : " << provenance << ENDM;
139-
return provenance;
135+
ILOG(Debug, Devel) << "Provenance returned by computeProvenance : " << fallbackProvenance << ENDM;
136+
return fallbackProvenance;
137+
}
138+
139+
inline Activity computeActivity(const framework::ServiceRegistry& services, const Activity& fallbackActivity)
140+
{
141+
return {
142+
computeRunNumber(services, fallbackActivity.mId),
143+
computeRunType(services, fallbackActivity.mType),
144+
computePeriodName(services, fallbackActivity.mPeriodName),
145+
computePassName(fallbackActivity.mPassName),
146+
computeProvenance(fallbackActivity.mProvenance),
147+
fallbackActivity.mValidity
148+
};
140149
}
141150

142151
inline std::string indentTree(int level)

Framework/src/AggregatorRunner.cxx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -398,11 +398,7 @@ void AggregatorRunner::sendPeriodicMonitoring()
398398

399399
void AggregatorRunner::start(const ServiceRegistry& services)
400400
{
401-
mActivity.mId = computeRunNumber(services, mRunnerConfig.fallbackRunNumber);
402-
mActivity.mType = computeRunType(services, mRunnerConfig.fallbackRunType);
403-
mActivity.mPeriodName = computePeriodName(services, mRunnerConfig.fallbackPeriodName);
404-
mActivity.mPassName = computePassName(mRunnerConfig.fallbackPassName);
405-
mActivity.mProvenance = computeProvenance(mRunnerConfig.fallbackProvenance);
401+
mActivity = computeActivity(services, mRunnerConfig.fallbackActivity);
406402
mTimerTotalDurationActivity.reset();
407403
string partitionName = computePartitionName(services);
408404
QcInfoLogger::setRun(mActivity.mId);

Framework/src/AggregatorRunnerFactory.cxx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,23 @@ AggregatorRunnerConfig AggregatorRunnerFactory::extractRunnerConfig(const core::
7171
{ "qcConfiguration", VariantType::Dict, emptyDict(), { "Some dictionary configuration" } }
7272
};
7373

74+
core::Activity fallbackActivity{
75+
commonSpec.activityNumber,
76+
commonSpec.activityType,
77+
commonSpec.activityPeriodName,
78+
commonSpec.activityPassName,
79+
commonSpec.activityProvenance,
80+
{ commonSpec.activityStart, commonSpec.activityEnd }
81+
};
82+
7483
return {
7584
commonSpec.database,
7685
commonSpec.consulUrl,
7786
commonSpec.monitoringUrl,
7887
commonSpec.infologgerFilterDiscardDebug,
7988
commonSpec.infologgerDiscardLevel,
8089
commonSpec.infologgerDiscardFile,
81-
commonSpec.activityNumber,
82-
commonSpec.activityType,
83-
commonSpec.activityPeriodName,
84-
commonSpec.activityPassName,
85-
commonSpec.activityProvenance,
90+
fallbackActivity,
8691
options
8792
};
8893
}

Framework/src/CheckRunner.cxx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -507,11 +507,7 @@ void CheckRunner::initLibraries()
507507

508508
void CheckRunner::start(const ServiceRegistry& services)
509509
{
510-
mActivity.mId = computeRunNumber(services, mConfig.fallbackRunNumber);
511-
mActivity.mType = computeRunType(services, mConfig.fallbackRunType);
512-
mActivity.mPeriodName = computePeriodName(services, mConfig.fallbackPeriodName);
513-
mActivity.mPassName = computePassName(mConfig.fallbackPassName);
514-
mActivity.mProvenance = computeProvenance(mConfig.fallbackProvenance);
510+
mActivity = computeActivity(services, mConfig.fallbackActivity);
515511
string partitionName = computePartitionName(services);
516512
QcInfoLogger::setRun(mActivity.mId);
517513
QcInfoLogger::setPartition(partitionName);

Framework/src/CheckRunnerFactory.cxx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,18 +82,22 @@ CheckRunnerConfig CheckRunnerFactory::extractConfig(const CommonSpec& commonSpec
8282
{ "qcConfiguration", VariantType::Dict, emptyDict(), { "Some dictionary configuration" } }
8383
};
8484

85+
core::Activity fallbackActivity{
86+
commonSpec.activityNumber,
87+
commonSpec.activityType,
88+
commonSpec.activityPeriodName,
89+
commonSpec.activityPassName,
90+
commonSpec.activityProvenance,
91+
{ commonSpec.activityStart, commonSpec.activityEnd }
92+
};
8593
return {
8694
commonSpec.database,
8795
commonSpec.consulUrl,
8896
commonSpec.monitoringUrl,
8997
commonSpec.infologgerFilterDiscardDebug,
9098
commonSpec.infologgerDiscardLevel,
9199
commonSpec.infologgerDiscardFile,
92-
commonSpec.activityNumber,
93-
commonSpec.activityType,
94-
commonSpec.activityPeriodName,
95-
commonSpec.activityPassName,
96-
commonSpec.activityProvenance,
100+
fallbackActivity,
97101
options
98102
};
99103
}

Framework/src/TaskRunner.cxx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ void TaskRunner::endOfStream(framework::EndOfStreamContext& eosContext)
301301

302302
void TaskRunner::start(const ServiceRegistry& services)
303303
{
304-
mRunNumber = o2::quality_control::core::computeRunNumber(services, mTaskConfig.fallbackRunNumber);
304+
mRunNumber = o2::quality_control::core::computeRunNumber(services, mTaskConfig.fallbackActivity.mId);
305305
QcInfoLogger::setRun(mRunNumber);
306306
string partitionName = computePartitionName(services);
307307
QcInfoLogger::setPartition(partitionName);
@@ -399,7 +399,8 @@ void TaskRunner::startOfActivity()
399399
mTotalNumberObjectsPublished = 0;
400400

401401
// Start activity in module's stask and update objectsManager
402-
Activity activity(mRunNumber, mTaskConfig.activityType, mTaskConfig.activityPeriodName, mTaskConfig.activityPassName, mTaskConfig.activityProvenance);
402+
Activity activity = mTaskConfig.fallbackActivity;
403+
activity.mId = mRunNumber;
403404
ILOG(Info, Ops) << "Starting run " << mRunNumber << ENDM;
404405
mObjectsManager->setActivity(activity);
405406
mCollector->setRunNumber(mRunNumber);
@@ -409,7 +410,8 @@ void TaskRunner::startOfActivity()
409410

410411
void TaskRunner::endOfActivity()
411412
{
412-
Activity activity(mRunNumber, mTaskConfig.activityType, mTaskConfig.activityPeriodName, mTaskConfig.activityPassName, mTaskConfig.activityProvenance);
413+
Activity activity = mTaskConfig.fallbackActivity;
414+
activity.mId = mRunNumber;
413415
ILOG(Info, Ops) << "Stopping run " << mRunNumber << ENDM;
414416
mTask->endOfActivity(activity);
415417
mObjectsManager->removeAllFromServiceDiscovery();

0 commit comments

Comments
 (0)