Sha256: 2cad6578740ecab10f64fbdd1a7843ff6fbf02be4a2c8b261a9a8fef24318dcb

Contents?: true

Size: 978 Bytes

Versions: 25

Compression:

Stored size: 978 Bytes

Contents

module Honeybadger
  module Util
    class Stats
      HAS_MEM = File.exists?("/proc/meminfo")
      HAS_LOAD = File.exists?("/proc/loadavg")

      class << self
        def all
          { :mem => memory, :load => load }
        end

        # From https://github.com/bloopletech/webstats/blob/master/server/data_providers/mem_info.rb
        def memory
          out = {}
          if HAS_MEM
            out[:total], out[:free], out[:buffers], out[:cached] = IO.readlines("/proc/meminfo")[0..4].map { |l| l =~ /^.*?\: +(.*?) kB$/; ($1.to_i / 1024.0).to_f }
            out[:free_total] = out[:free] + out[:buffers] + out[:cached]
          end
          out
        end

        # From https://github.com/bloopletech/webstats/blob/master/server/data_providers/cpu_info.rb
        def load
          out = {}
          out[:one], out[:five], out[:fifteen] = IO.read("/proc/loadavg").split(' ', 4).map(&:to_f) if HAS_LOAD
          out
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
honeybadger-2.0.12 lib/honeybadger/util/stats.rb
honeybadger-2.0.11 lib/honeybadger/util/stats.rb
honeybadger-2.0.10 lib/honeybadger/util/stats.rb
honeybadger-2.0.9 lib/honeybadger/util/stats.rb
honeybadger-2.0.8 lib/honeybadger/util/stats.rb
honeybadger-2.0.6 lib/honeybadger/util/stats.rb
honeybadger-2.0.5 lib/honeybadger/util/stats.rb
honeybadger-2.0.4 lib/honeybadger/util/stats.rb
honeybadger-2.0.3 lib/honeybadger/util/stats.rb
honeybadger-2.0.2 lib/honeybadger/util/stats.rb
honeybadger-2.0.1 lib/honeybadger/util/stats.rb
honeybadger-2.0.0 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.13 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.12 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.11 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.10 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.9 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.8 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.7 lib/honeybadger/util/stats.rb
honeybadger-2.0.0.beta.6 lib/honeybadger/util/stats.rb