Package io.siddhi.core.aggregation
Class AggregationRuntime
- java.lang.Object
-
- io.siddhi.core.aggregation.AggregationRuntime
-
- All Implemented Interfaces:
MemoryCalculable
public class AggregationRuntime extends Object implements MemoryCalculable
Aggregation runtime managing aggregation operations for aggregation definition.
-
-
Constructor Summary
Constructors Constructor Description AggregationRuntime(io.siddhi.query.api.definition.AggregationDefinition aggregationDefinition, boolean isProcessingOnExternalTime, boolean isDistributed, List<io.siddhi.query.api.aggregation.TimePeriod.Duration> aggregationDurations, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Executor> incrementalExecutorMap, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Table> aggregationTables, List<ExpressionExecutor> outputExpressionExecutors, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,List<ExpressionExecutor>> aggregateProcessingExecutorsMap, ExpressionExecutor shouldUpdateTimestamp, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,GroupByKeyGenerator> groupByKeyGeneratorMap, boolean isOptimisedLookup, List<io.siddhi.query.api.execution.query.selection.OutputAttribute> defaultSelectorList, List<String> groupByVariablesList, boolean isLatestEventColAdded, int baseAggregatorBeginIndex, List<io.siddhi.query.api.expression.Expression> finalBaseExpressionList, IncrementalDataPurger incrementalDataPurger, IncrementalExecutorsInitialiser incrementalExecutorInitialiser, SingleStreamRuntime singleStreamRuntime, MetaStreamEvent tableMetaStreamEvent, LatencyTracker latencyTrackerFind, ThroughputTracker throughputTrackerFind, String timeZone)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompiledConditioncompileExpression(io.siddhi.query.api.expression.Expression expression, io.siddhi.query.api.aggregation.Within within, io.siddhi.query.api.expression.Expression per, List<io.siddhi.query.api.expression.Variable> queryGroupByList, MatchingMetaInfoHolder matchingMetaInfoHolder, List<VariableExpressionExecutor> variableExpressionExecutors, Map<String,Table> tableMap, SiddhiQueryContext siddhiQueryContext)StreamEventfind(StateEvent matchingEvent, CompiledCondition compiledCondition, SiddhiQueryContext siddhiQueryContext)io.siddhi.query.api.definition.AggregationDefinitiongetAggregationDefinition()Map<String,Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Executor>>getAggregationDurationExecutorMap()IncrementalExecutorsInitialisergetIncrementalExecutorsInitialiser()SingleStreamRuntimegetSingleStreamRuntime()voidinitialiseExecutors(boolean isFirstEventArrived)voidprocessEvents(ComplexEventChunk<StreamEvent> streamEventComplexEventChunk)voidsetAggregationDurationExecutorMap(Map<String,Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Executor>> aggregationDurationExecutorMap)voidstartPurging()
-
-
-
Constructor Detail
-
AggregationRuntime
public AggregationRuntime(io.siddhi.query.api.definition.AggregationDefinition aggregationDefinition, boolean isProcessingOnExternalTime, boolean isDistributed, List<io.siddhi.query.api.aggregation.TimePeriod.Duration> aggregationDurations, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Executor> incrementalExecutorMap, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Table> aggregationTables, List<ExpressionExecutor> outputExpressionExecutors, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,List<ExpressionExecutor>> aggregateProcessingExecutorsMap, ExpressionExecutor shouldUpdateTimestamp, Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,GroupByKeyGenerator> groupByKeyGeneratorMap, boolean isOptimisedLookup, List<io.siddhi.query.api.execution.query.selection.OutputAttribute> defaultSelectorList, List<String> groupByVariablesList, boolean isLatestEventColAdded, int baseAggregatorBeginIndex, List<io.siddhi.query.api.expression.Expression> finalBaseExpressionList, IncrementalDataPurger incrementalDataPurger, IncrementalExecutorsInitialiser incrementalExecutorInitialiser, SingleStreamRuntime singleStreamRuntime, MetaStreamEvent tableMetaStreamEvent, LatencyTracker latencyTrackerFind, ThroughputTracker throughputTrackerFind, String timeZone)
-
-
Method Detail
-
getAggregationDefinition
public io.siddhi.query.api.definition.AggregationDefinition getAggregationDefinition()
-
getSingleStreamRuntime
public SingleStreamRuntime getSingleStreamRuntime()
-
find
public StreamEvent find(StateEvent matchingEvent, CompiledCondition compiledCondition, SiddhiQueryContext siddhiQueryContext)
-
compileExpression
public CompiledCondition compileExpression(io.siddhi.query.api.expression.Expression expression, io.siddhi.query.api.aggregation.Within within, io.siddhi.query.api.expression.Expression per, List<io.siddhi.query.api.expression.Variable> queryGroupByList, MatchingMetaInfoHolder matchingMetaInfoHolder, List<VariableExpressionExecutor> variableExpressionExecutors, Map<String,Table> tableMap, SiddhiQueryContext siddhiQueryContext)
-
startPurging
public void startPurging()
-
initialiseExecutors
public void initialiseExecutors(boolean isFirstEventArrived)
-
processEvents
public void processEvents(ComplexEventChunk<StreamEvent> streamEventComplexEventChunk)
-
getAggregationDurationExecutorMap
public Map<String,Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Executor>> getAggregationDurationExecutorMap()
-
setAggregationDurationExecutorMap
public void setAggregationDurationExecutorMap(Map<String,Map<io.siddhi.query.api.aggregation.TimePeriod.Duration,Executor>> aggregationDurationExecutorMap)
-
getIncrementalExecutorsInitialiser
public IncrementalExecutorsInitialiser getIncrementalExecutorsInitialiser()
-
-