mirror of
https://github.com/ClementTsang/bottom.git
synced 2024-09-21 00:21:00 +03:00
refactor: Clean up memory collection code (#1045)
This commit is contained in:
parent
3510563638
commit
8489c4bc10
@ -52,17 +52,18 @@ pub(crate) fn get_swap_data(sys: &System) -> Option<MemHarvest> {
|
||||
#[cfg(feature = "zfs")]
|
||||
pub(crate) fn get_arc_data() -> Option<MemHarvest> {
|
||||
let (mem_total_in_kib, mem_used_in_kib) = {
|
||||
#[cfg(target_os = "linux")]
|
||||
cfg_if::cfg_if! {
|
||||
if #[cfg(target_os = "linux")]
|
||||
{
|
||||
// TODO: [OPT] is this efficient?
|
||||
use std::fs::read_to_string;
|
||||
if let Ok(arcinfo) = read_to_string("/proc/spl/kstat/zfs/arcstats") {
|
||||
if let Ok(arc_stats) = read_to_string("/proc/spl/kstat/zfs/arcstats") {
|
||||
let mut mem_arc = 0;
|
||||
let mut mem_total = 0;
|
||||
let mut zfs_keys_read: u8 = 0;
|
||||
const ZFS_KEYS_NEEDED: u8 = 2;
|
||||
|
||||
for line in arcinfo.lines() {
|
||||
for line in arc_stats.lines() {
|
||||
if let Some((label, value)) = line.split_once(' ') {
|
||||
let to_write = match label {
|
||||
"size" => &mut mem_arc,
|
||||
@ -89,10 +90,7 @@ pub(crate) fn get_arc_data() -> Option<MemHarvest> {
|
||||
} else {
|
||||
(0, 0)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(target_os = "freebsd")]
|
||||
{
|
||||
} else if #[cfg(target_os = "freebsd")] {
|
||||
use sysctl::Sysctl;
|
||||
if let (Ok(mem_arc_value), Ok(mem_sys_value)) = (
|
||||
sysctl::Ctl::new("kstat.zfs.misc.arcstats.size"),
|
||||
@ -108,14 +106,9 @@ pub(crate) fn get_arc_data() -> Option<MemHarvest> {
|
||||
} else {
|
||||
(0, 0)
|
||||
}
|
||||
}
|
||||
#[cfg(target_os = "macos")]
|
||||
{
|
||||
} else {
|
||||
(0, 0)
|
||||
}
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
(0, 0)
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user