QualityControl  1.5.1
O2 Data Quality Control Framework
o2::quality_control::core Namespace Reference

These methods can be used to build a complex processing topology. It spawns 3 separate dummy processing chains. More...

Classes

class  Activity
 Dummy class that should be removed when there is the official one. This corresponds to a Run1/2 "run". More...
 
struct  Chunk
 
class  DataDumpGui
 
struct  DuplicateObjectError
 
struct  GUIState
 
class  InfrastructureGenerator
 A factory class which can generate QC topologies given a configuration file. More...
 
class  MonitorObject
 This class keeps the meta data about one published object. More...
 
class  MonitorObjectCollection
 
class  ObjectsManager
 Keeps the list of encapsulated objects to publish and does the actual publication. More...
 
class  QcInfoLogger
 Singleton class that any class in the QC can use to log. More...
 
class  Quality
 Class representing the quality of a MonitorObject. More...
 
class  QualityObject
 Encapsulation of a Quality into a TObject that can be streamed and stored. More...
 
class  RepoPathUtils
 
class  RepositoryBenchmark
 
class  ServiceDiscovery
 Information service for QC. More...
 
struct  TaskConfig
 Container for the configuration of a Task. More...
 
class  TaskFactory
 Factory in charge of creating tasks. More...
 
class  TaskInterface
 Skeleton of a QC task. More...
 
class  TaskRunner
 A class driving the execution of a QC task inside DPL. More...
 
class  TaskRunnerFactory
 Factory in charge of creating DataProcessorSpec of QC task. More...
 

Typedefs

using QualityObjectsType = std::vector< std::shared_ptr< QualityObject >>
 
using QualityObjectsMapType = std::map< std::string, std::shared_ptr< const QualityObject >>
 

Functions

o2::framework::WorkflowSpec getProcessingTopology (o2::framework::DataAllocator::SubSpecificationType subspec)
 
o2::framework::WorkflowSpec getFullProcessingTopology ()
 
framework::DataProcessorSpec getDataProducerSpec (size_t minSize, size_t maxSize, double rate, uint64_t amount=0, size_t index=0, std::string monitoringUrl="", bool fill=true)
 Returns a random data producer specification which publishes on {"TST", "RAWDATA", <index>}. More...
 
framework::AlgorithmSpec getDataProducerAlgorithm (framework::ConcreteDataMatcher output, size_t minSize, size_t maxSize, double rate, uint64_t amount=0, std::string monitoringUrl="", bool fill=true)
 Returns an algorithm generating random messages. More...
 
framework::DataProcessorSpec getDataProducerExampleSpec (size_t myParam)
 Returns a random data producer specification which publishes on {"TST", "RAWDATA", <index>}. More...
 
framework::AlgorithmSpec getDataProducerExampleAlgorithm (framework::ConcreteDataMatcher output, size_t myParam)
 Returns an algorithm generating random messages. More...
 
framework::DataProcessorSpec getHistoProducerSpec (size_t index, size_t nbHistograms, bool noTobjArray)
 Returns an histogram producer specification which publishes on {"TST", "HISTO", <index>}. More...
 
framework::AlgorithmSpec getHistoProducerAlgorithm (framework::ConcreteDataMatcher output, size_t nbHistograms, bool noTobjArray)
 Returns an algorithm generating histograms randomly filled. The histograms have 100 bins and are named hello<index>. The histograms are embedded in a TObjArray. More...
 
framework::DataProcessorSpec getHistoPrinterSpec (size_t index)
 Returns a printer that prints histograms coming from {"TST", "HISTO", <index>}. More...
 
framework::AlgorithmSpec getHistoPrinterAlgorithm ()
 Returns an algorithm printing histograms. More...
 
std::string getFirstTaskName (std::string configurationSource)
 
std::string getFirstCheckName (std::string configurationSource)
 
bool hasChecks (std::string configSource)
 
std::vector< std::string > getBinRepresentation (unsigned char *data, size_t size)
 
std::vector< std::string > getHexRepresentation (unsigned char *data, size_t size)
 
WorkflowSpec getProcessingTopology (SubSpecificationType subspec)
 
void updateGuiState ()
 
void resizeColumns (int representation)
 
void updatePayloadGui ()
 
void updateHeaderGui ()
 
void redrawGui ()
 
AlgorithmSpec getDataProducerAlgorithm (ConcreteDataMatcher output, size_t minSize, size_t maxSize, double rate, uint64_t amount, std::string monitoringUrl, bool fill)
 
void printHisto (shared_ptr< const TH1F > &histo)
 
std::ostream & operator<< (std::ostream &out, const QualityObject &q)
 
 BOOST_AUTO_TEST_CASE (mo)
 
 BOOST_AUTO_TEST_CASE (mo_save)
 
 BOOST_AUTO_TEST_CASE (metadata)
 
 BOOST_AUTO_TEST_CASE (path)
 
 BOOST_AUTO_TEST_CASE (invalid_url_test)
 
 BOOST_AUTO_TEST_CASE (duplicate_object_test)
 
 BOOST_AUTO_TEST_CASE (is_being_published_test)
 
 BOOST_AUTO_TEST_CASE (unpublish_test)
 
 BOOST_AUTO_TEST_CASE (getters_test)
 
 BOOST_AUTO_TEST_CASE (metadata_test)
 
 BOOST_AUTO_TEST_CASE (drawOptions_test)
 
 BOOST_AUTO_TEST_CASE (publisher_test)
 
 BOOST_AUTO_TEST_CASE (qc_info_logger)
 
 BOOST_AUTO_TEST_CASE (qc_info_logger_2)
 
 BOOST_AUTO_TEST_CASE (quality_test)
 
 BOOST_AUTO_TEST_CASE (test_int_repr)
 
 BOOST_AUTO_TEST_CASE (test_version)
 
 BOOST_AUTO_TEST_CASE (test_output)
 

Variables

const std::string anonChecker = "anonymousChecker"
 

Detailed Description

These methods can be used to build a complex processing topology. It spawns 3 separate dummy processing chains.

Author
Adam Wegrzynek
Adam Wegrzynek adam..nosp@m.wegr.nosp@m.zynek.nosp@m.@cer.nosp@m.n.ch

Function Documentation

framework::AlgorithmSpec o2::quality_control::core::getDataProducerAlgorithm ( framework::ConcreteDataMatcher  output,
size_t  minSize,
size_t  maxSize,
double  rate,
uint64_t  amount = 0,
std::string  monitoringUrl = "",
bool  fill = true 
)

Returns an algorithm generating random messages.

Parameters
outputOrigin, Description and SubSpecification of data to be produced
minSizeMinimum size of a message in bytes
maxSizeMaximum size of a message in bytes
rateHow much messages to produce in one second
amountHow many messages should be produce in total (0 for inf). EndOfStream is sent at the end.
monitoringUrlWhere monitoring metrics should be sent
fillShould it fill messages with random data
Returns
A random data producer algorithm
framework::AlgorithmSpec o2::quality_control::core::getDataProducerExampleAlgorithm ( framework::ConcreteDataMatcher  output,
size_t  myParam 
)

Returns an algorithm generating random messages.

Parameters
outputOrigin, Description and SubSpecification of data to be produced
myParamThe value the producer should produce.
Returns
A fixed number producer algorithm
DataProcessorSpec o2::quality_control::core::getDataProducerExampleSpec ( size_t  myParam)

Returns a random data producer specification which publishes on {"TST", "RAWDATA", <index>}.

Parameters
myParamThe value the producer should produce.
Returns
A fixed number producer specification
DataProcessorSpec o2::quality_control::core::getDataProducerSpec ( size_t  minSize,
size_t  maxSize,
double  rate,
uint64_t  amount = 0,
size_t  index = 0,
std::string  monitoringUrl = "",
bool  fill = true 
)

Returns a random data producer specification which publishes on {"TST", "RAWDATA", <index>}.

Parameters
minSizeMinimum size of a message in bytes
maxSizeMaximum size of a message in bytes
rateHow much messages to produce in one second
amountHow many messages should be produce in total (0 for inf). EndOfStream is sent at the end.
indexSubSpecification of the data producer (useful when more than one needed)
monitoringUrlWhere monitoring metrics should be sent
fillShould it fill messages with random data
Returns
A random data producer specification
std::string o2::quality_control::core::getFirstTaskName ( std::string  configurationSource)

Returns the name of the first task encountered in the config file. Ad-hoc solution to avoid hard-coding the task when we create the printer (he needs it to know the data description of the data coming out of the checker).

Parameters
config
Returns
The name of the first task in the config file.
framework::AlgorithmSpec o2::quality_control::core::getHistoPrinterAlgorithm ( )

Returns an algorithm printing histograms.

Returns
An algorithm printing histograms.
DataProcessorSpec o2::quality_control::core::getHistoPrinterSpec ( size_t  index)

Returns a printer that prints histograms coming from {"TST", "HISTO", <index>}.

Parameters
indexThe index of the producer (i.e. the subspec) to which the printer must connect.
Returns
A printer.
framework::AlgorithmSpec o2::quality_control::core::getHistoProducerAlgorithm ( framework::ConcreteDataMatcher  output,
size_t  nbHistograms,
bool  noTobjArray 
)

Returns an algorithm generating histograms randomly filled. The histograms have 100 bins and are named hello<index>. The histograms are embedded in a TObjArray.

Parameters
outputOrigin, Description and SubSpecification of data to be produced
indexThe value the producer should produce.
Returns
An histogram producer algorithm
framework::DataProcessorSpec o2::quality_control::core::getHistoProducerSpec ( size_t  index,
size_t  nbHistograms,
bool  noTobjArray 
)

Returns an histogram producer specification which publishes on {"TST", "HISTO", <index>}.

Parameters
indexThe index of this producer (i.e. the subspec).
Returns
An histograms producer specification.