class LogStash::Filters::Aggregate::Pipeline

shared aggregate attributes for each pipeline

Attributes

aggregate_maps[RW]
aggregate_maps_path_set[RW]
flush_instance_map[RW]
last_flush_timestamp_map[RW]
mutex[RW]
pipeline_close_instance[RW]

Public Class Methods

new() click to toggle source
# File lib/logstash/filters/aggregate.rb, line 512
def initialize()
  # Stores all aggregate maps, per task_id pattern, then per task_id value
  @aggregate_maps = {}

  # Mutex used to synchronize access to 'aggregate_maps'
  @mutex = Mutex.new

  # For each "task_id" pattern, defines which Aggregate instance will process flush() call, processing expired Aggregate elements (older than timeout)
  # For each entry, key is "task_id pattern" and value is "aggregate instance"
  @flush_instance_map = {}

  # last time where timeout management in flush() method was launched, per "task_id" pattern
  @last_flush_timestamp_map = {}

  # flag indicating if aggregate_maps_path option has been already set on one aggregate instance
  @aggregate_maps_path_set = false

  # defines which Aggregate instance will close Aggregate variables associated to current pipeline
  @pipeline_close_instance = nil
end