Configuration Parameters¶
An operator has several parameters that can be set via the OperatorConfig object returned at the instantiation of an operator via the manager:
1 2 | OperatorConfig* operatorConfig = cloudControl->createOperator("myOperator", 0); operatorConfig->setParameter((char*)SOMEPARAMTERKEY, (char*)"parameterValue"); |
Or via setting the parameters in the json file if the simple static manager is used:
1 2 3 4 | "myOperator" : { "someParameterkey" : "paramterValue" } |
General¶
-
LIBRARYPATH
- libraryPath
Default value:"./libOperator.so"
Path to operator library. -
PARAMETERS
- parameters
Default value:`"parameter"
` Parameter to parameterize an operator, i.e., the value is passed to the operator's init() method. -
TIMERINTERVAL
- timerInterval
Default value: "-1"
Time interval for the generate() method of the operator in µs. -
LOGGING
- logging (still experimental)
Default value: "0" - 0 = without event logging
-
1 = with event logging
-
LAYERTYPE
- layerType
Default value: "noorder" (execution of events as they arrive on downstream operators)
Alternatives: deterministic
(for an execution of events according to the timestamps)- experimental:
noordernoduplicates
,virtualsynchrony
,virtualsynchronydelay
,virtualsynchronydelayagree
Operator Partitioning¶
(see Partitioner interface)
-
SLICES
- slices
Default value: 2
Number of partitions/slices an operator has. -
PARTITIONERLIBRARY
- partitionerLibrary
Default value: KeyRangePartitioner
Path to partitioner library. If no path is specified, the internal KeyRangePartitioner will be used by default. -
ROUTINGKEYRANGESIZE
- routingKeyRangeSize
Default value: 1000
If the KeyRangePartitioner is used.
Stateful Operators¶
(see "stateful operators")
-
STATEACCESSBUCKETS
- stateAccessBuckets
Default value: 10
Number of buckets for the state. If the value is "-1", the operator has no state (stateless operator). -
LOCKTYPE
- lockType
Default value: "spinLock"
Locktype for the state access. Alternatives: "mutexLock", "rwLock" and "noLock"
Event Processing¶
-
PROCESSINGBATCHSIZE
- processingBatchSize
Default value: "10"
How many events are processed per batch / cycle prior handing off to another thread. -
PROCESSINGPRIORITY
- processingPriority
Default value: "0"
Operators priority (0 = highest priority, 1 = is lower). -
PROCESSINGTASKSGENERATOR
-processingTasksGenerator
Default value: "8"
How many concurrent generating() calls / how many threads may concurrently call generate(). -
PROCESSINGTASKSPROCESSOR
- processingTasksProcessor
Default value: "8"
How many concurrent process() calls / how many threads may concurrently call process().
Sending & Tuning¶
-
BUFFERBATCHTYPE
- bufferBatchType
Default value: "0"
0 = BufferBatchDelegated - if the process cannot send an event because another one has acquired the lock, it puts the event in a list for pending ones.
else BufferBatchDirect - if the process cannot send an event because another one has acquired the lock, it waits till it is its turn. -
SENDINGBATCHSIZE
- sendingBatchSize
Default value: "1"
Size of the list with events in bytes. If exceeded, the list is being sent.
If you use a high value, the throughput increases, however, latency too. -
BUFFERBATCHDELEGATEDPSIZE
- bufferBatchDelegatedQueueSize
Default value: "10" -
BUFFERBATCHDELEGATEDQSIZE
- bufferBatchDelegatedProcessingSize
Default value: "10" -
CHECKPOINTEPOCHLEN
- checkPointEpochLength
Default value: "-1"
Determines the length between two checkpoints (time-stamp based).