collect(0.3) do break if not File.readable?('/proc/stat') File.open('/proc/stat').each do |line| key, value = line.chomp.split case key when "ctxt" sampler.emit(:derive, "os.procs.switch", value.to_i) when "processes" sampler.emit(:derive, "os.procs.forks", value.to_i) when "procs_running" sampler.emit(:gauge, "os.procs.running", value.to_i) when "procs_blocked" sampler.emit(:gauge, "os.procs.blocked", value.to_i) end end end