Class: Fluent::Plugin::CalyptiaMonitoringExtInput

Inherits:
MonitorAgentInput
  • Object
show all
Defined in:
lib/fluent/plugin/calyptia_monitoring_ext.rb

Constant Summary collapse

CALYPTIA_PLUGIN_METRIC_INFO =
{
  'emit_size' => ->(){
    throw(:skip) if @emit_size_metrics.get.nil?
    @emit_size_metrics.cmetrics.to_msgpack
  },
  'emit_records' => ->(){
    throw(:skip) if @emit_records_metrics.get.nil?
    @emit_records_metrics.cmetrics.to_msgpack
  },
  'retry_count' => ->(){
    throw(:skip) if @num_errors_metrics.get.nil?
    @num_errors_metrics.cmetrics.to_msgpack
  },
  'write_count' => ->(){
    throw(:skip) if @write_count_metrics.get.nil?
    @write_count_metrics.cmetrics.to_msgpack
  },
  'rollback_count' => ->(){
    throw(:skip) if @rollback_count_metrics.get.nil?
    @rollback_count_metrics.cmetrics.to_msgpack
  },
  'flush_time_count' => ->(){
    throw(:skip) if @flush_time_count_metrics.get.nil?
    @flush_time_count_metrics.cmetrics.to_msgpack
  },
  'slow_flush_count' => ->(){
    throw(:skip) if @slow_flush_count_metrics.get.nil?
    @slow_flush_count_metrics.cmetrics.to_msgpack
  },
}

Instance Method Summary collapse

Instance Method Details

#get_monitor_info(pe, opts = {}) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/fluent/plugin/calyptia_monitoring_ext.rb', line 51

def get_monitor_info(pe, opts = {})
  obj = {}

  obj['metrics'] = get_plugin_metric(pe)

  obj
end

#get_plugin_metric(pe) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/fluent/plugin/calyptia_monitoring_ext.rb', line 59

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

  metrics
end