Facter::Util::Uptime

A module to gather uptime facts

Public Class Methods

get_uptime_seconds_unix() click to toggle source
   # File lib/facter/util/uptime.rb, line 6
6:   def self.get_uptime_seconds_unix
7:     uptime_proc_uptime or uptime_sysctl or uptime_kstat or uptime_who_dash_b
8:   end
get_uptime_seconds_win() click to toggle source
    # File lib/facter/util/uptime.rb, line 10
10:   def self.get_uptime_seconds_win
11:     require 'facter/util/wmi'
12: 
13:     last_boot = ""
14:     Facter::Util::WMI.execquery("select * from Win32_OperatingSystem").each do |x|
15:       last_boot = x.LastBootupTime
16:     end
17:     self.compute_uptime(Time.parse(last_boot.split('.').first))
18:   end

Private Class Methods

compute_uptime(time) click to toggle source
    # File lib/facter/util/uptime.rb, line 46
46:   def self.compute_uptime(time)
47:     (Time.now - time).to_i
48:   end
uptime_file() click to toggle source
    # File lib/facter/util/uptime.rb, line 50
50:   def self.uptime_file
51:     "/proc/uptime"
52:   end
uptime_kstat() click to toggle source
    # File lib/facter/util/uptime.rb, line 34
34:   def self.uptime_kstat
35:     if output = Facter::Util::Resolution.exec("#{uptime_kstat_cmd} 2>/dev/null")
36:       compute_uptime(Time.at(output.chomp.split(/\s/).last.to_i))
37:     end
38:   end
uptime_kstat_cmd() click to toggle source
    # File lib/facter/util/uptime.rb, line 58
58:   def self.uptime_kstat_cmd
59:     'kstat -p unix:::boot_time'
60:   end
uptime_proc_uptime() click to toggle source
    # File lib/facter/util/uptime.rb, line 22
22:   def self.uptime_proc_uptime
23:     if output = Facter::Util::Resolution.exec("/bin/cat #{uptime_file} 2>/dev/null")
24:       output.chomp.split(" ").first.to_i
25:     end
26:   end
uptime_sysctl() click to toggle source
    # File lib/facter/util/uptime.rb, line 28
28:   def self.uptime_sysctl
29:     if output = Facter::Util::Resolution.exec("#{uptime_sysctl_cmd} 2>/dev/null")
30:       compute_uptime(Time.at(output.match(/\d+/)[0].to_i))
31:     end
32:   end
uptime_sysctl_cmd() click to toggle source
    # File lib/facter/util/uptime.rb, line 54
54:   def self.uptime_sysctl_cmd
55:     'sysctl -n kern.boottime'
56:   end
uptime_who_cmd() click to toggle source
    # File lib/facter/util/uptime.rb, line 62
62:   def self.uptime_who_cmd
63:     'who -b'
64:   end
uptime_who_dash_b() click to toggle source
    # File lib/facter/util/uptime.rb, line 40
40:   def self.uptime_who_dash_b
41:     if output = Facter::Util::Resolution.exec("#{uptime_who_cmd} 2>/dev/null")
42:       compute_uptime(Time.parse(output))
43:     end
44:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.