Class: Fluent::Plugin::CalyptiaMonitoringBufferExtInput
- Inherits:
-
MonitorAgentInput
- Object
- MonitorAgentInput
- Fluent::Plugin::CalyptiaMonitoringBufferExtInput
- Defined in:
- lib/fluent/plugin/calyptia_monitoring_buffer_ext.rb
Constant Summary collapse
- CALYPTIA_PLUGIN_BUFFER_METRIC_INFO =
{ 'buffer_total_queued_size' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.total_queued_size_metrics.cmetrics.to_msgpack }, 'buffer_stage_length' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.stage_length_metrics.cmetrics.to_msgpack }, 'buffer_stage_byte_size' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.stage_size_metrics.cmetrics.to_msgpack }, 'buffer_queue_length' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.queue_length_metrics.cmetrics.to_msgpack }, 'buffer_queue_byte_size' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.queue_size_metrics.cmetrics.to_msgpack }, 'available_buffer_space_ratios' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.available_buffer_space_ratios_metrics.cmetrics.to_msgpack }, 'newest_timekey' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.newest_timekey_metrics.cmetrics.to_msgpack }, 'oldest_timekey' => ->() { throw(:skip) unless instance_variable_defined?(:@buffer) && !@buffer.nil? && @buffer.is_a?(::Fluent::Plugin::Buffer) @buffer.oldest_timekey_metrics.cmetrics.to_msgpack }, }
Instance Method Summary collapse
Instance Method Details
#get_monitor_info(pe, opts = {}) ⇒ Object
55 56 57 58 59 60 61 |
# 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) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# 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 |