summaryrefslogtreecommitdiff
path: root/app/controllers/admin/system_info_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/admin/system_info_controller.rb')
-rw-r--r--app/controllers/admin/system_info_controller.rb25
1 files changed, 22 insertions, 3 deletions
diff --git a/app/controllers/admin/system_info_controller.rb b/app/controllers/admin/system_info_controller.rb
index 3c67370b667..cc63009cdc0 100644
--- a/app/controllers/admin/system_info_controller.rb
+++ b/app/controllers/admin/system_info_controller.rb
@@ -1,13 +1,32 @@
class Admin::SystemInfoController < Admin::ApplicationController
def show
+ excluded_mounts = [
+ "nobrowse",
+ "read-only",
+ "ro"
+ ]
+
system_info = Vmstat.snapshot
+ mounts = Sys::Filesystem.mounts
+
+ @disks = []
+ mounts.each do |mount|
+ options = mount.options.split(', ')
+
+ next unless excluded_mounts.each { |em| break if options.include?(em) }
+
+ disk = Sys::Filesystem.stat(mount.mount_point)
+ @disks.push({
+ bytes_total: disk.bytes_total,
+ bytes_used: disk.bytes_used,
+ disk_name: mount.name,
+ mount_path: disk.path
+ })
+ end
@cpus = system_info.cpus.length
@mem_used = system_info.memory.active_bytes
@mem_total = system_info.memory.total_bytes
-
- @disk_used = system_info.disks[0].used_bytes
- @disk_total = system_info.disks[0].total_bytes
end
end