Skip to content

Commit dee7e06

Browse files
knopers8Barthelemy
authored andcommitted
data sampling - documenting and renaming (#1435)
1 parent 10bf0d3 commit dee7e06

File tree

5 files changed

+16
-14
lines changed

5 files changed

+16
-14
lines changed

Framework/Core/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ Data Sampling provides possibility to sample data in DPL workflows, basing on ce
475475
### Usage
476476
477477
To use Data Sampling in a DPL workflow insert following lines to your code:
478-
```
478+
```cpp
479479
#include "Framework/DataSampling.h"
480480
using namespace o2::framework;
481481
void customize(std::vector<CompletionPolicy>& policies)
@@ -510,23 +510,23 @@ Sampled data can be subscribed to by adding `InputSpecs` provided by `std::vecto
510510

511511
The following sampling conditions are available. When more than one is used, a positive decision is taken when all the conditions are fulfilled.
512512
- **DataSamplingConditionRandom** - pseudo-randomly accepts specified fraction of incoming messages.
513-
```
513+
```json
514514
{
515515
"condition": "random",
516516
"fraction": "0.1",
517517
"seed": "22222"
518518
}
519519
```
520520
- **DataSamplingConditionNConsecutive** - approves n consecutive samples in defined cycle. It assumes that timesliceID always increments by one.
521-
```
521+
```json
522522
{
523523
"condition": "nConsecutive",
524524
"samplesNumber": "3",
525525
"cycleSize": "100"
526526
}
527527
```
528528
- **DataSamplingConditionPayloadSize** - approves messages having payload size within specified boundaries.
529-
```
529+
```json
530530
{
531531
"condition": "payloadSize",
532532
"lowerLimit": "300",

Framework/Core/include/Framework/DataSampling.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class DataSampling
8484

8585
private:
8686
// Internal functions, used by GenerateInfrastructure()
87-
static std::string dispatcherName();
87+
static std::string createDispatcherName();
8888
};
8989

9090
} // namespace framework

Framework/Core/include/Framework/DataSamplingPolicy.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ class DataSamplingPolicy
4040
struct inputSpecHasher {
4141
size_t operator()(const InputSpec& i) const
4242
{
43+
// 'Compressing' dataOrigin and dataDescription to 64 bits. SubSpecification is not taken into account,
44+
// because sometimes we want to have subSpec-agnostic match.
4345
return (static_cast<size_t>(i.description.itg[0]) << 32 |
4446
static_cast<size_t>(i.description.itg[1])) ^
4547
static_cast<size_t>(i.origin.itg[0]);
@@ -82,8 +84,8 @@ class DataSamplingPolicy
8284
const std::string& getFairMQOutputChannel() const;
8385
std::string getFairMQOutputChannelName() const;
8486

85-
static header::DataOrigin policyDataOrigin();
86-
static header::DataDescription policyDataDescription(std::string policyName, size_t id);
87+
static header::DataOrigin createPolicyDataOrigin();
88+
static header::DataDescription createPolicyDataDescription(std::string policyName, size_t id);
8789

8890
private:
8991
std::string mName;

Framework/Core/src/DataSampling.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ namespace o2
2929
namespace framework
3030
{
3131

32-
std::string DataSampling::dispatcherName()
32+
std::string DataSampling::createDispatcherName()
3333
{
3434
return std::string("Dispatcher"); //_") + getenv("HOSTNAME");
3535
}
3636

3737
void DataSampling::GenerateInfrastructure(WorkflowSpec& workflow, const std::string& policiesSource, size_t threads)
3838
{
3939
LOG(DEBUG) << "Generating Data Sampling infrastructure...";
40-
Dispatcher dispatcher(dispatcherName(), policiesSource);
40+
Dispatcher dispatcher(createDispatcherName(), policiesSource);
4141
Options options;
4242

4343
std::unique_ptr<ConfigurationInterface> cfg = ConfigurationFactory::getConfiguration(policiesSource);
@@ -101,7 +101,7 @@ void DataSampling::GenerateInfrastructure(WorkflowSpec& workflow, const std::str
101101

102102
void DataSampling::CustomizeInfrastructure(std::vector<CompletionPolicy>& policies)
103103
{
104-
CompletionPolicy dispatcherConsumesASAP = CompletionPolicyHelpers::defineByName(dispatcherName(), CompletionPolicy::CompletionOp::Consume);
104+
CompletionPolicy dispatcherConsumesASAP = CompletionPolicyHelpers::defineByName(createDispatcherName(), CompletionPolicy::CompletionOp::Consume);
105105
policies.push_back(dispatcherConsumesASAP);
106106
}
107107

Framework/Core/src/DataSamplingPolicy.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ void DataSamplingPolicy::configure(const ptree& config)
6666

6767
OutputSpec outputSpec{
6868
{ dataHeaderConfig.second.get<std::string>("binding") },
69-
policyDataOrigin(),
70-
policyDataDescription(mName, outputId++),
69+
createPolicyDataOrigin(),
70+
createPolicyDataDescription(mName, outputId++),
7171
mSubSpec
7272
};
7373

@@ -138,12 +138,12 @@ const header::DataHeader::SubSpecificationType DataSamplingPolicy::getSubSpec()
138138
return mSubSpec;
139139
}
140140

141-
header::DataOrigin DataSamplingPolicy::policyDataOrigin()
141+
header::DataOrigin DataSamplingPolicy::createPolicyDataOrigin()
142142
{
143143
return header::DataOrigin("DS");
144144
}
145145

146-
header::DataDescription DataSamplingPolicy::policyDataDescription(std::string policyName, size_t id)
146+
header::DataDescription DataSamplingPolicy::createPolicyDataDescription(std::string policyName, size_t id)
147147
{
148148
if (policyName.size() > 14) {
149149
LOG(WARNING) << "DataSamplingPolicy name '" << policyName << "' is longer than 14 characters, trimming in dataDescription.";

0 commit comments

Comments
 (0)