class Fluent::Plugin::Input

Public Class Methods

new() click to toggle source
Calls superclass method Fluent::PluginLoggerMixin::new
# File lib/fluent/plugin/input.rb, line 32
def initialize
  super
  @emit_records_metrics = nil
  @emit_size_metrics = nil
  @counter_mutex = Mutex.new
  @enable_size_metrics = false
end

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method Fluent::PluginLoggerMixin#configure
# File lib/fluent/plugin/input.rb, line 48
def configure(conf)
  super

  @emit_records_metrics = metrics_create(namespace: "fluentd", subsystem: "input", name: "emit_records", help_text: "Number of count emit records")
  @emit_size_metrics = metrics_create(namespace: "fluentd", subsystem: "input", name: "emit_size", help_text: "Total size of emit events")
  @enable_size_metrics = !!system_config.enable_size_metrics
end
emit_records() click to toggle source
# File lib/fluent/plugin/input.rb, line 40
def emit_records
  @emit_records_metrics.get
end
emit_size() click to toggle source
# File lib/fluent/plugin/input.rb, line 44
def emit_size
  @emit_size_metrics.get
end
metric_callback(es) click to toggle source
# File lib/fluent/plugin/input.rb, line 65
def metric_callback(es)
  @emit_records_metrics.add(es.size)
  @emit_size_metrics.add(es.to_msgpack_stream.bytesize) if @enable_size_metrics
end
multi_workers_ready?() click to toggle source
# File lib/fluent/plugin/input.rb, line 70
def multi_workers_ready?
  false
end
statistics() click to toggle source
# File lib/fluent/plugin/input.rb, line 56
def statistics
  stats = {
    'emit_records' => @emit_records_metrics.get,
    'emit_size' => @emit_size_metrics.get,
  }

  { 'input' => stats }
end