Skip to content

Commit

Permalink
some refactoring, remove smol
Browse files Browse the repository at this point in the history
  • Loading branch information
ClementTsang committed Mar 2, 2023
1 parent 58e056e commit 5169815
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 54 deletions.
5 changes: 2 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ libc = "0.2.124"
[target.'cfg(target_os = "linux")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["disk", "net", "sensors"] }
procfs = { version = "0.14.2", default-features = false }
smol = "1.2.5"

[target.'cfg(target_os = "macos")'.dependencies]
heim = { version = "0.1.0-rc.1", features = ["disk", "net"] }
Expand Down
46 changes: 23 additions & 23 deletions src/app/data_harvester.rs
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,29 @@ impl DataCollector {
}
}

if self.widgets_to_harvest.use_mem {
let MemCollect {
ram,
swap,
gpus,
#[cfg(feature = "zfs")]
arc,
} = memory::get_mem_data(&self.sys, self.widgets_to_harvest.use_gpu);

self.data.memory = ram;
self.data.swap = swap;

#[cfg(feature = "zfs")]
{
self.data.arc = arc;
}

#[cfg(feature = "gpu")]
{
self.data.gpu = gpus;
}
}

let network_data_fut = {
#[cfg(any(target_os = "windows", target_os = "freebsd"))]
{
Expand Down Expand Up @@ -412,29 +435,6 @@ impl DataCollector {
self.data.network = net_data;
}

if self.widgets_to_harvest.use_mem || self.widgets_to_harvest.use_gpu {
let MemCollect {
ram,
swap,
gpus,
#[cfg(feature = "zfs")]
arc,
} = memory::get_mem_data(&self.sys, self.widgets_to_harvest.use_gpu);

self.data.memory = ram;
self.data.swap = swap;

#[cfg(feature = "zfs")]
{
self.data.arc = arc;
}

#[cfg(feature = "gpu")]
{
self.data.gpu = gpus;
}
}

if let Ok(disks) = disk_res {
self.data.disks = disks;
}
Expand Down
4 changes: 2 additions & 2 deletions src/app/data_harvester/memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ pub(crate) use self::sysinfo::*;

#[derive(Debug, Clone, Default)]
pub struct MemHarvest {
pub mem_total_in_kib: u64,
pub mem_used_in_kib: u64,
pub total_kib: u64,
pub used_kib: u64,
pub use_percent: Option<f64>,
}

Expand Down
19 changes: 11 additions & 8 deletions src/app/data_harvester/memory/sysinfo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ pub(crate) fn get_mem_data(sys: &System, _get_gpu: bool) -> MemCollect {

/// Returns RAM usage.
pub(crate) fn get_ram_data(sys: &System) -> Option<MemHarvest> {
let (mem_total_in_kib, mem_used_in_kib) = (sys.total_memory() / 1024, sys.used_memory() / 1024);
let mem_used_in_kib = sys.used_memory() / 1024;
let mem_total_in_kib = sys.total_memory() / 1024;

Some(MemHarvest {
mem_total_in_kib,
mem_used_in_kib,
total_kib: mem_total_in_kib,
used_kib: mem_used_in_kib,
use_percent: if mem_total_in_kib == 0 {
None
} else {
Expand All @@ -33,11 +34,12 @@ pub(crate) fn get_ram_data(sys: &System) -> Option<MemHarvest> {

/// Returns SWAP usage.
pub(crate) fn get_swap_data(sys: &System) -> Option<MemHarvest> {
let (mem_total_in_kib, mem_used_in_kib) = (sys.total_swap() / 1024, sys.used_swap() / 1024);
let mem_used_in_kib = sys.used_swap() / 1024;
let mem_total_in_kib = sys.total_swap() / 1024;

Some(MemHarvest {
mem_total_in_kib,
mem_used_in_kib,
total_kib: mem_total_in_kib,
used_kib: mem_used_in_kib,
use_percent: if mem_total_in_kib == 0 {
None
} else {
Expand Down Expand Up @@ -84,6 +86,7 @@ pub(crate) fn get_arc_data() -> Option<MemHarvest> {
#[cfg(feature = "nvidia")]
pub(crate) fn get_gpu_data() -> Option<Vec<(String, MemHarvest)>> {
use crate::data_harvester::nvidia::NVML_DATA;

if let Ok(nvml) = &*NVML_DATA {
if let Ok(ngpu) = nvml.device_count() {
let mut results = Vec::with_capacity(ngpu as usize);
Expand All @@ -96,8 +99,8 @@ pub(crate) fn get_gpu_data() -> Option<Vec<(String, MemHarvest)>> {
results.push((
name,
MemHarvest {
mem_total_in_kib,
mem_used_in_kib,
total_kib: mem_total_in_kib,
used_kib: mem_used_in_kib,
use_percent: if mem_total_in_kib == 0 {
None
} else {
Expand Down
22 changes: 11 additions & 11 deletions src/data_conversion.rs
Original file line number Diff line number Diff line change
Expand Up @@ -262,45 +262,45 @@ pub fn convert_mem_labels(
}

(
if current_data.memory_harvest.mem_total_in_kib > 0 {
if current_data.memory_harvest.total_kib > 0 {
Some((
format!(
"{:3.0}%",
current_data.memory_harvest.use_percent.unwrap_or(0.0)
),
{
let (unit, denominator) = return_unit_and_denominator_for_mem_kib(
current_data.memory_harvest.mem_total_in_kib,
current_data.memory_harvest.total_kib,
);

format!(
" {:.1}{}/{:.1}{}",
current_data.memory_harvest.mem_used_in_kib as f64 / denominator,
current_data.memory_harvest.used_kib as f64 / denominator,
unit,
(current_data.memory_harvest.mem_total_in_kib as f64 / denominator),
(current_data.memory_harvest.total_kib as f64 / denominator),
unit
)
},
))
} else {
None
},
if current_data.swap_harvest.mem_total_in_kib > 0 {
if current_data.swap_harvest.total_kib > 0 {
Some((
format!(
"{:3.0}%",
current_data.swap_harvest.use_percent.unwrap_or(0.0)
),
{
let (unit, denominator) = return_unit_and_denominator_for_mem_kib(
current_data.swap_harvest.mem_total_in_kib,
current_data.swap_harvest.total_kib,
);

format!(
" {:.1}{}/{:.1}{}",
current_data.swap_harvest.mem_used_in_kib as f64 / denominator,
current_data.swap_harvest.used_kib as f64 / denominator,
unit,
(current_data.swap_harvest.mem_total_in_kib as f64 / denominator),
(current_data.swap_harvest.total_kib as f64 / denominator),
unit
)
},
Expand Down Expand Up @@ -688,13 +688,13 @@ pub fn convert_gpu_data(
mem_percent: format!("{:3.0}%", gpu.1.use_percent.unwrap_or(0.0)),
mem_total: {
let (unit, denominator) =
return_unit_and_denominator_for_mem_kib(gpu.1.mem_total_in_kib);
return_unit_and_denominator_for_mem_kib(gpu.1.total_kib);

format!(
" {:.1}{}/{:.1}{}",
gpu.1.mem_used_in_kib as f64 / denominator,
gpu.1.used_kib as f64 / denominator,
unit,
(gpu.1.mem_total_in_kib as f64 / denominator),
(gpu.1.total_kib as f64 / denominator),
unit
)
},
Expand Down
12 changes: 6 additions & 6 deletions src/utils/gen_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ pub const MEGA_LIMIT: u64 = 1_000_000;
pub const GIGA_LIMIT: u64 = 1_000_000_000;
pub const TERA_LIMIT: u64 = 1_000_000_000_000;
pub const KIBI_LIMIT: u64 = 1024;
pub const MEBI_LIMIT: u64 = 1_048_576;
pub const GIBI_LIMIT: u64 = 1_073_741_824;
pub const TEBI_LIMIT: u64 = 1_099_511_627_776;
pub const MEBI_LIMIT: u64 = 1024 * 1024;
pub const GIBI_LIMIT: u64 = 1024 * 1024 * 1024;
pub const TEBI_LIMIT: u64 = 1024 * 1024 * 1024 * 1024;

pub const KILO_LIMIT_F64: f64 = 1000.0;
pub const MEGA_LIMIT_F64: f64 = 1_000_000.0;
pub const GIGA_LIMIT_F64: f64 = 1_000_000_000.0;
pub const TERA_LIMIT_F64: f64 = 1_000_000_000_000.0;
pub const KIBI_LIMIT_F64: f64 = 1024.0;
pub const MEBI_LIMIT_F64: f64 = 1_048_576.0;
pub const GIBI_LIMIT_F64: f64 = 1_073_741_824.0;
pub const TEBI_LIMIT_F64: f64 = 1_099_511_627_776.0;
pub const MEBI_LIMIT_F64: f64 = 1024.0 * 1024.0;
pub const GIBI_LIMIT_F64: f64 = 1024.0 * 1024.0 * 1024.0;
pub const TEBI_LIMIT_F64: f64 = 1024.0 * 1024.0 * 1024.0 * 1024.0;

pub const LOG_KILO_LIMIT: f64 = 3.0;
pub const LOG_MEGA_LIMIT: f64 = 6.0;
Expand Down

0 comments on commit 5169815

Please sign in to comment.