class Fluent::Plugin::NodeExporter::MeminfoMetricsCollector
Public Class Methods
new(config={})
click to toggle source
Calls superclass method
Fluent::Plugin::NodeExporter::MetricsCollector::new
# File lib/fluent/plugin/node_exporter/meminfo_collector.rb, line 25 def initialize(config={}) super(config) @metrics = {} meminfo_path = File.join(@procfs_path, "meminfo") File.readlines(meminfo_path).each do |line| metric_name, name, _ = parse_meminfo_line(line) @gauge = CMetrics::Gauge.new @gauge.create("node", "memory", name, "Memory information field #{metric_name}.") @metrics[metric_name.intern] = @gauge end end
Public Instance Methods
cmetrics()
click to toggle source
# File lib/fluent/plugin/node_exporter/meminfo_collector.rb, line 63 def cmetrics @metrics end
meminfo_update()
click to toggle source
# File lib/fluent/plugin/node_exporter/meminfo_collector.rb, line 55 def meminfo_update meminfo_path = File.join(@procfs_path, "meminfo") File.readlines(meminfo_path).each do |line| metric_name, _, value = parse_meminfo_line(line) @metrics[metric_name.intern].set(value.to_f) end end
parse_meminfo_line(line)
click to toggle source
# File lib/fluent/plugin/node_exporter/meminfo_collector.rb, line 42 def parse_meminfo_line(line) name, value, unit = line.split name.delete!(":") if name.end_with?("(anon)") or name.end_with?("(file)") name.sub!(/\((anon)\)|\((file)\)/, "_\\1\\2") end if unit name << "_bytes" value = value.to_f * 1024 end ["node_memory_#{name}", name, value] end
run()
click to toggle source
# File lib/fluent/plugin/node_exporter/meminfo_collector.rb, line 38 def run meminfo_update end