Module: Usagewatch

Defined in:
lib/usagewatch_ext/mac.rb,
lib/usagewatch_ext/linux.rb

Class Method Summary collapse

Class Method Details

.uw_bandrxObject



75
76
77
78
79
80
# File 'lib/usagewatch_ext/mac.rb', line 75

def self.uw_bandrx
  read1 =`netstat -ib | grep -e "en1" -m 1 | awk '{print $7}'`
  sleep 1
  read2=`netstat -ib | grep -e "en1" -m 1 | awk '{print $7}'`
  (((read2.to_f - read1.to_f)/1024)/1024).round(3)
end

.uw_bandtxObject



82
83
84
85
86
87
# File 'lib/usagewatch_ext/mac.rb', line 82

def self.uw_bandtx
  send1=`netstat -ib | grep -e "en1" -m 1 | awk '{print $10}'`
  sleep 1
  send2=`netstat -ib | grep -e "en1" -m 1 | awk '{print $10}'`
  (((send2.to_f - send1.to_f)/1024)/1024).round(3)
end

.uw_cputopObject

return hash of top ten proccesses by cpu consumption example [[“apache2”, 12.0], [“passenger”, 13.2]]



37
38
39
# File 'lib/usagewatch_ext/mac.rb', line 37

def self.uw_cputop
  top %w"$11 $3"
end

.uw_cpuusedObject

Show the percentage of cpu used



29
30
31
32
33
# File 'lib/usagewatch_ext/mac.rb', line 29

def self.uw_cpuused
  top = `top -l1 | awk '/CPU usage/'`
  top = top.gsub(/[\,a-zA-Z:]/, "").split(" ")
  top[0].to_f
end

.uw_diskusedObject

Show disk used in GB



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/usagewatch_ext/mac.rb', line 4

def self.uw_diskused
  df = `df -kl`
  sum = 0.00
  df.each_line.with_index do |line, line_index|
    next if line_index.eql? 0
    line = line.split(" ")
    next if line[0] =~ /localhost/  #ignore backup filesystem
    sum += ((line[2].to_f)/1024)/1024
  end
  sum.round(2)
end

.uw_diskused_percObject

Show the percentage of disk used.



17
18
19
20
21
22
23
24
25
26
# File 'lib/usagewatch_ext/mac.rb', line 17

def self.uw_diskused_perc
  df, total, used  = `df -kl`, 0.0, 0.0
  df.each_line.with_index do |line, line_index|
    line = line.split(" ")
    next if line_index.eql? 0 or line[0] =~ /localhost/ #ignore backup filesystem
    total  += to_gb line[3].to_f
    used   += to_gb line[2].to_f
  end
  ((used/total) * 100).round(2)
end

.uw_httpconnsObject

Show the current http connections on 80 port



100
101
102
# File 'lib/usagewatch_ext/mac.rb', line 100

def self.uw_httpconns
  `netstat -an | grep :80 |wc -l`.to_i
end

.uw_loadObject

Show the average of load in the last minute



65
66
67
68
69
70
71
72
73
# File 'lib/usagewatch_ext/mac.rb', line 65

def self.uw_load
  iostat = `iostat -w1 -c 2 | awk '{print $7}'`
  cpu = 0.0
  iostat.each_line.with_index do |line, line_index|
    next if line_index.eql? 0 or  line_index.eql? 1 or  line_index.eql? 2
    cpu = line.split(" ").last.to_f.round(2)
  end
  cpu
end

.uw_memtopObject

return hash of top ten proccesses by mem consumption example [[“apache2”, 12.0], [“passenger”, 13.2]]



53
54
55
# File 'lib/usagewatch_ext/mac.rb', line 53

def self.uw_memtop
  top %w"$11 $4"
end

.uw_memusedObject

Percentage of mem used



58
59
60
61
62
# File 'lib/usagewatch_ext/mac.rb', line 58

def self.uw_memused
  top = `top -l1 | awk '/PhysMem/'`
  top = top.gsub(/[\.\,a-zA-Z:]/, "").split(" ").reverse
  ((top[1].to_f / (top[0].to_f + top[1].to_f)) * 100).round(2)
end