Class: Fluent::RandomOutput
- Inherits:
-
Output
- Object
- Output
- Fluent::RandomOutput
- Includes:
- HandleTagNameMixin
- Defined in:
- lib/fluent/plugin/out_random.rb
Instance Method Summary collapse
- #check_valid_interval(lower, upper) ⇒ Object
- #configure(conf) ⇒ Object
- #emit(tag, es, chain) ⇒ Object
- #parse_integer_field(interval) ⇒ Object
Instance Method Details
#check_valid_interval(lower, upper) ⇒ Object
22 23 24 25 26 |
# File 'lib/fluent/plugin/out_random.rb', line 22 def check_valid_interval(lower, upper) if (lower >= upper) raise "random: Bad interval for 'integer' (#{lower} >= #{upper})" end end |
#configure(conf) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fluent/plugin/out_random.rb', line 29 def configure(conf) super if (field.nil? || integer.nil?) raise ConfigError, "random: 'field' is required to be set." end if (integer.nil?) raise ConfigError, "random: 'integer' is required to be set." end @integer_interval = parse_integer_field(integer) check_valid_interval(@integer_interval[0], @integer_interval[1]) @field = field @random = Random.new() end |
#emit(tag, es, chain) ⇒ Object
46 47 48 49 50 51 52 53 54 |
# File 'lib/fluent/plugin/out_random.rb', line 46 def emit(tag, es, chain) es.each { |time, record| t = tag.dup filter_record(t, time, record) Engine.emit(t, time, record) } chain.next end |
#parse_integer_field(interval) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/fluent/plugin/out_random.rb', line 14 def parse_integer_field(interval) lower_upper = interval.split("..", 2).map{|value| Integer(value) } if (lower_upper.length != 2 || !lower_upper[0].is_a?(Integer) || !lower_upper[1].is_a?(Integer)) raise "random: Bad value for 'integer' (value: '#{interval}')" end return lower_upper end |