You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Framework/Core/README.md
-94Lines changed: 0 additions & 94 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -467,100 +467,6 @@ There is also a few demonstrator available in particular:
467
467
468
468
-[MillWheel: Fault-Tolerant Stream Processing at Internet Scale](https://research.google.com/pubs/pub41378.html) : paper about Google previous generation system for stream processing
469
469
470
-
## Data Sampling
471
-
472
-
Data Sampling provides possibility to sample data in DPL workflows, basing on certain conditions ( 5% randomly, when payload is greater than 4234 bytes, etc.). The job of passing the right data is done by a data processor called `Dispatcher`. A desired data stream is specified in form of Data Sampling Policies, configured by JSON structures (example below).
473
-
```
474
-
{
475
-
"id": "policy_example1", # name of the policy
476
-
"active": "false", # activation flag
477
-
"machines": [ # list of machines where the policy should be run (now ignored)
478
-
"aido2flp1",
479
-
"aido2flp2"
480
-
], # list of data that should be sampled, the format is:
Sampled data can be subscribed to by adding `InputSpecs` provided by `std::vector<InputSpec> DataSampling::InputSpecsForPolicy(const std::string& policiesSource, const std::string& policyName)` to a chosen data processor. Then, they can be accessed by the bindings specified in the configuration file. Dispatcher adds a `DataSamplingHeader` to the header stack, which contains statistics like total number of evaluated/accepted messages for a given Policy or the sampling time since epoch.
525
-
526
-
[o2-datasampling-pod-and-root](https://github.com/AliceO2Group/AliceO2/blob/dev/Framework/TestWorkflows/src/dataSamplingPodAndRoot.cxx) workflow can serve as usage example.
527
-
528
-
## Data Sampling Conditions
529
-
530
-
The following sampling conditions are available. When more than one is used, a positive decision is taken when all the conditions are fulfilled.
531
-
- **DataSamplingConditionRandom** - pseudo-randomly accepts specified fraction of incoming messages.
532
-
```json
533
-
{
534
-
"condition": "random",
535
-
"fraction": "0.1",
536
-
"seed": "22222"
537
-
}
538
-
```
539
-
-**DataSamplingConditionNConsecutive** - approves n consecutive samples in defined cycle. It assumes that timesliceID always increments by one.
540
-
```json
541
-
{
542
-
"condition": "nConsecutive",
543
-
"samplesNumber": "3",
544
-
"cycleSize": "100"
545
-
}
546
-
```
547
-
-**DataSamplingConditionPayloadSize** - approves messages having payload size within specified boundaries.
548
-
```json
549
-
{
550
-
"condition": "payloadSize",
551
-
"lowerLimit": "300",
552
-
"upperLimit": "500"
553
-
}
554
-
```
555
-
-**DataSamplingConditionCustom** - loads a custom condition, which should inherit from DataSamplingCondition, from a specified library.
Data Sampling provides possibility to sample data in DPL workflows, basing on certain conditions ( 5% randomly, when payload is greater than 4234 bytes, etc.). The job of passing the right data is done by a data processor called `Dispatcher`. A desired data stream is specified in form of Data Sampling Policies, configured by JSON structures (example below).
4
+
```
5
+
{
6
+
"id": "policy_example1", # name of the policy
7
+
"active": "false", # activation flag
8
+
"machines": [ # list of machines where the policy should be run (now ignored)
9
+
"aido2flp1",
10
+
"aido2flp2"
11
+
], # list of data that should be sampled, the format is:
Sampled data can be subscribed to by adding `InputSpecs` provided by `std::vector<InputSpec> DataSampling::InputSpecsForPolicy(const std::string& policiesSource, const std::string& policyName)` to a chosen data processor. Then, they can be accessed by the bindings specified in the configuration file. Dispatcher adds a `DataSamplingHeader` to the header stack, which contains statistics like total number of evaluated/accepted messages for a given Policy or the sampling time since epoch.
57
+
58
+
The [o2-datasampling-pod-and-root](https://github.com/AliceO2Group/AliceO2/blob/dev/Utilities/DataSampling/test/dataSamplingPodAndRoot.cxx) workflow can serve as a usage example.
59
+
60
+
## Data Sampling Conditions
61
+
62
+
The following sampling conditions are available. When more than one is used, a positive decision is taken when all the conditions are fulfilled.
63
+
- **DataSamplingConditionRandom** - pseudo-randomly accepts specified fraction of incoming messages.
64
+
```json
65
+
{
66
+
"condition": "random",
67
+
"fraction": "0.1",
68
+
"seed": "22222"
69
+
}
70
+
```
71
+
-**DataSamplingConditionNConsecutive** - approves n consecutive samples in defined cycle. It assumes that timesliceID always increments by one.
72
+
```json
73
+
{
74
+
"condition": "nConsecutive",
75
+
"samplesNumber": "3",
76
+
"cycleSize": "100"
77
+
}
78
+
```
79
+
-**DataSamplingConditionPayloadSize** - approves messages having payload size within specified boundaries.
80
+
```json
81
+
{
82
+
"condition": "payloadSize",
83
+
"lowerLimit": "300",
84
+
"upperLimit": "500"
85
+
}
86
+
```
87
+
-**DataSamplingConditionCustom** - loads a custom condition, which should inherit from DataSamplingCondition, from a specified library.
0 commit comments