Sha256: f26218ee5f77b6652b4be142a262ed4e2fffd93cb1f28feba08de448934d4d0c
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
class Riemann::Babbler::Memory include Riemann::Babbler def memory m = File.read('/proc/meminfo').split(/\n/).inject({}) { |info, line| x = line.split(/:?\s+/) info[x[0]] = x[1].to_i info } free = m['MemFree'].to_i + m['Buffers'].to_i + m['Cached'].to_i total = m['MemTotal'].to_i fraction = 1 - (free.to_f / total) return {:free => (free.to_f/1024), :fraction => fraction, :total => (total.to_f/1024)} end def tick current_state = memory # соотношение свободной/занятой report({ :service => plugin.service, :state => state(current_state[:fraction]), :metric => current_state[:fraction] }) # постим сообщение о свобоной памяти report({ :service => plugin.service + " free", :metric => current_state[:free] }) if plugin.report_free # постим сообение о том сколько у нас вообще памяти report({ :service => plugin.service + " total", :metric => current_state[:total] }) if plugin.report_total end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
riemann-babbler-0.3.1 | lib/riemann/babbler/plugins/memory.rb |
riemann-babbler-0.3.0 | lib/riemann/babbler/plugins/memory.rb |