1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
use super::colors::colorize;
use super::config::Config;
use colored::*;
use sysinfo::{ProcessorExt, System, SystemExt};
pub fn overview(config: &Config, system: &System) -> String {
if config.frequency {
format!("{} {}", usage(config, system), frequency(system))
} else {
usage(config, system)
}
}
fn usage(config: &Config, system: &System) -> String {
let usage = system.global_processor_info().cpu_usage();
colorize(
format!(" {:.0}%", usage),
usage,
config.threshold_cpu_high,
config.threshold_cpu_medium,
)
}
fn frequency(system: &System) -> String {
format!(
"@{:.1} GHz ",
system.global_processor_info().frequency() as f32 / 1000.0
)
.cyan()
.to_string()
}