Class: ServerInfo
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ServerInfo
- Defined in:
- lib/generators/kebab_remote_api/install/templates/models/server_info.rb
Instance Attribute Summary collapse
-
#cpu_load ⇒ Object
Returns the value of attribute cpu_load.
-
#disk_total ⇒ Object
Returns the value of attribute disk_total.
-
#disk_used ⇒ Object
Returns the value of attribute disk_used.
-
#mem_total ⇒ Object
Returns the value of attribute mem_total.
-
#mem_used ⇒ Object
Returns the value of attribute mem_used.
-
#uptime ⇒ Object
Returns the value of attribute uptime.
Instance Method Summary collapse
Instance Attribute Details
#cpu_load ⇒ Object
Returns the value of attribute cpu_load.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def cpu_load @cpu_load end |
#disk_total ⇒ Object
Returns the value of attribute disk_total.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def disk_total @disk_total end |
#disk_used ⇒ Object
Returns the value of attribute disk_used.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def disk_used @disk_used end |
#mem_total ⇒ Object
Returns the value of attribute mem_total.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def mem_total @mem_total end |
#mem_used ⇒ Object
Returns the value of attribute mem_used.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def mem_used @mem_used end |
#uptime ⇒ Object
Returns the value of attribute uptime.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def uptime @uptime end |
Instance Method Details
#as_json ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 25 def as_json { "CPU" => self.cpu_load, "Memory" => { "Total" => self.mem_total, "Used" => self.mem_used, }, "Disk" => { "Total" => self.disk_total, "Used" => self.disk_used }, "Uptime" => self.uptime }.to_json end |
#init ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 7 def init mem = Vmstat.memory total_mem = mem.active_bytes + mem.inactive_bytes + mem.free_bytes + mem.wired_bytes # Getting disk info for main partition is, temprorarily, for only # UN*X-like systems, such as GNU/Linux, BSD, Mac OS X etc. # Windows implementation will be added in future disk = Vmstat.disk('/') # CPU load data => Float typed self.cpu_load = Vmstat.load_average.five_minutes # All size data => Megabytes (MB) self.mem_total = (mem.active_bytes + mem.inactive_bytes + mem.free_bytes + mem.wired_bytes) / 1024**2 self.mem_used = self.mem_total - (mem.free_bytes / 1024**2) self.disk_total = disk.total_bytes / 1024**2 self.disk_used = (disk.total_bytes - disk.free_bytes) / 1024**2 # Uptime data => Minutes self.uptime = (Time.now - Vmstat.boot_time).to_i / 60 end |