Module: Fluent::MeasureTimable

Defined in:
lib/fluent/plugin/measure_timable.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#measure_timeObject (readonly)

Returns the value of attribute measure_time.



14
15
16
# File 'lib/fluent/plugin/measure_timable.rb', line 14

def measure_time
  @measure_time
end

Class Method Details

.included(klass) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/fluent/plugin/measure_timable.rb', line 3

def self.included(klass)
  unless klass.method_defined?(:configure_without_measure_time)
    klass.__send__(:alias_method, :configure_without_measure_time, :configure)
    klass.__send__(:alias_method, :configure, :configure_with_measure_time)
  end

  unless klass.method_defined?(:router)
    define_method(:router) { ::Fluent::Engine }
  end
end

Instance Method Details

#configure_with_measure_time(conf) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/fluent/plugin/measure_timable.rb', line 16

def configure_with_measure_time(conf)
  configure_without_measure_time(conf)
  if element = conf.elements.select { |element| element.name == 'measure_time' }.first
    @measure_time = MeasureTime.new(self, log, router)
    @measure_time.configure(element)
  end
end