Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
fc75176
Add AggregatorInterface.
Barthelemy Sep 7, 2020
3174965
AggregatorRunner et al. Topology ok
Barthelemy Sep 8, 2020
a05dace
organize includes
Barthelemy Sep 8, 2020
18afdc2
introduction of Aggregator class to hold a user code instance
Barthelemy Sep 9, 2020
14255ee
update doxy aggregators
Barthelemy Sep 15, 2020
8e1185b
aggregator change
Barthelemy Sep 15, 2020
8a035d5
continued
Barthelemy Sep 14, 2020
df98348
Get data in Aggregator
Barthelemy Sep 14, 2020
d130b05
fix comma
Barthelemy Sep 16, 2020
efbc01f
fix merge
Barthelemy Sep 22, 2020
bf392bb
format
Barthelemy Sep 22, 2020
48b6b68
Aggregators.. aggregate
Barthelemy Nov 3, 2020
41e21ad
add non working advanced topology
Barthelemy Nov 4, 2020
91b8dee
add non working advanced topology
Barthelemy Nov 4, 2020
3a3901f
Works with other aggregators as input
Barthelemy Nov 12, 2020
66c3a96
format
Barthelemy Nov 12, 2020
8f8fc1e
script to configure new aggregator
Barthelemy Nov 12, 2020
0d7481c
doc
Barthelemy Nov 12, 2020
e7cbbf6
some tests
Barthelemy Nov 12, 2020
b9b91df
format
Barthelemy Nov 12, 2020
ac863f0
fix
Barthelemy Nov 12, 2020
49fd6e6
advanced example and custom parameters
Barthelemy Nov 12, 2020
fba2b59
feature full
Barthelemy Nov 13, 2020
0d196f1
format
Barthelemy Nov 13, 2020
cdba36a
format
Barthelemy Nov 16, 2020
52bd4fd
final clean up
Barthelemy Nov 17, 2020
6b28990
format
Barthelemy Nov 17, 2020
7e34b78
missing changes for MySQL backend
Barthelemy Nov 18, 2020
a733e78
First batch of fixes following PR's comments
Barthelemy Nov 19, 2020
41b69fa
format
Barthelemy Nov 19, 2020
f0d8b76
update doc, incl. config description
Barthelemy Nov 19, 2020
1e710b5
extract generateAggregators
Barthelemy Nov 19, 2020
c0b149a
progress on the changes proposed in the PR
Barthelemy Nov 19, 2020
1c4f4a6
remove the option for the list of QOs
Barthelemy Nov 20, 2020
fb94085
better output, simplifying the policy handling
Barthelemy Nov 20, 2020
fdc5a87
make the binding less circomvoluted
Barthelemy Nov 20, 2020
cb04296
format
Barthelemy Nov 20, 2020
bcbdcdd
revert binding name, broken. use better loop in aggregate
Barthelemy Nov 20, 2020
4495651
Merge branch 'master' into aggregators
Barthelemy Nov 20, 2020
c220210
Fix for piece that got lost
Barthelemy Nov 20, 2020
c4d4c3e
remove the option 'all' for the Checks.
Barthelemy Nov 23, 2020
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
10 changes: 10 additions & 0 deletions Framework/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ add_root_dictionary(QualityControlTypes
add_library(QualityControl
src/ObjectsManager.cxx
src/CheckRunner.cxx
src/AggregatorRunner.cxx
src/CheckRunnerFactory.cxx
src/AggregatorRunnerFactory.cxx
src/CheckInterface.cxx
src/DatabaseFactory.cxx
src/CcdbDatabase.cxx
Expand All @@ -51,6 +53,7 @@ add_library(QualityControl
src/RepositoryBenchmark.cxx
src/InfrastructureGenerator.cxx
src/Check.cxx
src/Aggregator.cxx
src/ServiceDiscovery.cxx
src/Triggers.cxx
src/TriggerHelpers.cxx
Expand Down Expand Up @@ -112,6 +115,7 @@ add_root_dictionary(QualityControl
HEADERS
include/QualityControl/CheckInterface.h
include/QualityControl/TaskInterface.h
include/QualityControl/AggregatorInterface.h
include/QualityControl/PostProcessingInterface.h
include/QualityControl/TrendingTask.h
include/QualityControl/MonitorObjectCollection.h
Expand Down Expand Up @@ -224,7 +228,9 @@ set(TEST_SRCS
test/testTaskInterface.cxx
test/testTaskRunner.cxx
test/testCheckInterface.cxx
test/testAggregatorInterface.cxx
test/testCheckRunner.cxx
test/testAggregatorRunner.cxx
test/testCheck.cxx
test/testQuality.cxx
test/testQualityObject.cxx
Expand Down Expand Up @@ -268,6 +274,8 @@ set(TEST_ARGS
""
""
""
""
""
"-b --run"
"-b --run"
""
Expand Down Expand Up @@ -384,9 +392,11 @@ install(FILES example-default.json
alfa.json
dataDump.json
basic.json
basic-aggregator.json
basic-external-histo.json
basic-no-sampling.json
advanced.json
advanced-aggregator.json
advanced-external-histo.json
multiNode.json
readout.json
Expand Down
157 changes: 157 additions & 0 deletions Framework/advanced-aggregator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
{
"qc": {
"config": {
"database": {
"implementation": "CCDB",
"host": "ccdb-test.cern.ch:8080",
"username": "not_applicable",
"password": "not_applicable",
"name": "not_applicable"
},
"Activity": {
"number": "42",
"type": "2"
},
"monitoring": {
"url": "infologger:///debug?qc"
},
"consul": {
"url": "http://consul-test.cern.ch:8500"
},
"conditionDB": {
"url": "ccdb-test.cern.ch:8080"
}
},
"tasks": {
"dataSizeTask": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonTask",
"moduleName": "QcSkeleton",
"detectorName": "TST",
"cycleDurationSeconds": "10",
"maxNumberCycles": "-1",
"dataSource": {
"type": "dataSamplingPolicy",
"name": "tst2"
},
"location": "remote"
},
"someNumbersTask": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonTask",
"moduleName": "QcSkeleton",
"detectorName": "TST",
"cycleDurationSeconds": "10",
"maxNumberCycles": "-1",
"dataSource": {
"type": "dataSamplingPolicy",
"name": "tst1"
},
"location": "remote"
}
},
"checks": {
"dataSizeCheck": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonCheck",
"moduleName": "QcSkeleton",
"policy": "OnAny",
"detectorName": "TST",
"dataSource": [{
"type": "Task",
"name": "dataSizeTask",
"MOs": ["example"]
}]
},
"someNumbersCheck": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonCheck",
"moduleName": "QcSkeleton",
"policy": "OnEachSeparately",
"detectorName": "TST",
"dataSource": [{
"type": "Task",
"name": "someNumbersTask",
"MOs": ["example"]
}]
}
},
"aggregators": {
"MyAggregator1": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonAggregator",
"moduleName": "QcSkeleton",
"policy": "OnAll",
"detectorName": "TST",
"dataSource": [{
"type": "Check",
"name": "dataSizeCheck"
}, {
"type": "Check",
"name": "someNumbersCheck"
}]
},
"MyAggregator2": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonAggregator",
"moduleName": "QcSkeleton",
"policy": "OnAll",
"detectorName": "TST",
"dataSource": [{
"type": "Check",
"name": "dataSizeCheck"
}, {
"type": "Check", "": "this one is using onEachSeparately and thus it sends under a full path",
"name": "someNumbersCheck",
"QOs": ["someNumbersTask/example"], "": "also possible to ignore it altogether, meaning we take all objects"
}]
},
"MyAggregator3": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonAggregator",
"moduleName": "QcSkeleton",
"policy": "OnAll",
"detectorName": "TST",
"dataSource": [{
"type": "Aggregator",
"name": "MyAggregator1", "": "no QOs parameter -> all QOs of this aggregator",
"QOs": ["newQuality"], "": "list all objects we are interested in"
}, {
"type": "Aggregator",
"name": "MyAggregator2",
"QOs": ["newQuality", "another"], "": "if we omitted the QOs for a data source we would default to OnAny"
}]
}
}
},
"dataSamplingPolicies": [
{
"id": "tst1",
"active": "true",
"machines": [],
"query" : "sum:TST/SUM/2;param:TST/PARAM/2",
"samplingConditions": [
{
"condition": "random",
"fraction": "0.1",
"seed": "32112332123"
}
],
"blocking": "false"
},
{
"id": "tst2",
"active": "true",
"machines": [],
"query" : "data:TST/DATA",
"samplingConditions": [
{
"condition": "payloadSize",
"lowerLimit": "8000",
"upperLimit": "10000"
}
],
"blocking": "false"
}
]
}
107 changes: 107 additions & 0 deletions Framework/basic-aggregator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
{
"qc": {
"config": {
"database": {
"implementation": "CCDB",
"host": "ccdb-test.cern.ch:8080",
"username": "not_applicable",
"password": "not_applicable",
"name": "not_applicable"
},
"Activity": {
"number": "42",
"type": "2"
},
"monitoring": {
"url": "infologger:///debug?qc"
},
"consul": {
"url": "http://consul-test.cern.ch:8500"
},
"conditionDB": {
"url": "ccdb-test.cern.ch:8080"
}
},
"tasks": {
"QcTask": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonTask",
"moduleName": "QcSkeleton",
"detectorName": "TST",
"cycleDurationSeconds": "10",
"maxNumberCycles": "-1",
"dataSource_comment": "The other type of dataSource is \"direct\", see basic-no-sampling.json.",
"dataSource": {
"type": "dataSamplingPolicy",
"name": "tst-raw"
},
"taskParameters": {
"myOwnKey": "myOwnValue"
},
"location": "remote"
}
},
"checks": {
"QcCheck": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonCheck",
"moduleName": "QcSkeleton",
"policy": "OnAny",
"detectorName": "TST",
"dataSource": [{
"type": "Task",
"name": "QcTask",
"MOs": ["example"]
}]
},
"QcCheck2": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonCheck",
"moduleName": "QcSkeleton",
"policy": "OnEachSeparately",
"detectorName": "TST",
"dataSource": [{
"type": "Task",
"name": "QcTask",
"MOs": ["example"]
}]
}
},
"aggregators": {
"MyAggregator1": {
"active": "true",
"className": "o2::quality_control_modules::skeleton::SkeletonAggregator",
"moduleName": "QcSkeleton",
"policy": "OnAll",
"detectorName": "TST",
"dataSource": [{
"type": "Check", "": "for a check which produces a single result do it like that",
Comment thread
Barthelemy marked this conversation as resolved.
"name": "QcCheck", "": "no need to specify each object because there is only 1"
Comment thread
knopers8 marked this conversation as resolved.
},
{
"type": "Check", "": "for a check which produces a single result do it like that",
"name": "QcCheck2", "": "no need to specify each object because there is only 1"
}],
"aggregatorParameters": {
"myOwnKey": "myOwnValue"
}
}
}
},
"dataSamplingPolicies": [
{
"id": "tst-raw",
"active": "true",
"machines": [],
"query": "random:TST/RAWDATA/0",
"samplingConditions": [
{
"condition": "random",
"fraction": "0.1",
"seed": "1234"
}
],
"blocking": "false"
}
]
}
Loading