Class: Metrix::System

Inherits:
Base
  • Object
show all
Defined in:
lib/metrix/system.rb

Defined Under Namespace

Classes: Cpu

Instance Attribute Summary

Attributes inherited from Base

#attributes, #time

Instance Method Summary collapse

Methods inherited from Base

#cast_int, ignore, #ignore_metric?, ignore_metrics, #metrics, #tags

Constructor Details

#initialize(raw = File.read("/proc/stat"), time = Time.now) ⇒ System

Returns a new instance of System.



25
26
27
28
# File 'lib/metrix/system.rb', line 25

def initialize(raw = File.read("/proc/stat"), time = Time.now)
  @raw = raw
  @time = time
end

Instance Method Details

#cpuObject



64
65
66
# File 'lib/metrix/system.rb', line 64

def cpu
  Cpu.new(@raw[/^cpu (.*)/, 1].split(" ").map(&:to_i))
end

#load1Object



52
53
54
# File 'lib/metrix/system.rb', line 52

def load1
  loadavg.split(" ").first.to_f
end

#loadavgObject



56
57
58
# File 'lib/metrix/system.rb', line 56

def loadavg
  @loadavg ||= File.read("/proc/loadavg")
end

#prefixObject



60
61
62
# File 'lib/metrix/system.rb', line 60

def prefix
  "system"
end

#unfiltered_metricsObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/metrix/system.rb', line 36

def unfiltered_metrics
  {
    "processes"       => processes,
    "procs_running"   => procs_running,
    "procs_blocked"   => procs_blocked,
    "ctxt"            => ctxt,
    "cpu.user"        => cpu.user,
    "cpu.nice"        => cpu.nice,
    "cpu.system"      => cpu.system,
    "cpu.idle"        => cpu.idle,
    "cpu.iowait"      => cpu.iowait,
    "cpu.irq"         => cpu.irq,
    "cpu.softirq"     => cpu.softirq,
  }
end