class Fluent::Plugin::CalyptiaMonitoringBufferExtInput

Constants

CALYPTIA_PLUGIN_BUFFER_METRIC_INFO

Public Instance Methods

get_monitor_info(pe, opts = {}) click to toggle source
# File lib/fluent/plugin/calyptia_monitoring_buffer_ext.rb, line 55
def get_monitor_info(pe, opts = {})
  obj = {}

  obj['metrics'] = get_plugin_metric(pe)

  obj
end
get_plugin_metric(pe) click to toggle source
# File lib/fluent/plugin/calyptia_monitoring_buffer_ext.rb, line 63
def get_plugin_metric(pe)
  # Nop for non output plugin
  return {} if plugin_category(pe) != "output"

  metrics = {}

  if pe.respond_to?(:statistics)
    # Force to update buffers' metrics values
    pe.statistics
  end

  CALYPTIA_PLUGIN_BUFFER_METRIC_INFO.each_pair { |key, code|
    begin
      v = pe.instance_exec(&code)
      unless v.nil?
        metrics[key] = v
      end
    rescue
    end
  }

  metrics
end