.. | ||
src | ||
.gitignore | ||
.travis.yml | ||
Cargo.toml | ||
README.md |
peach-stats
System statistics library for PeachCloud. Provides a wrapper around the probes and systemstat crates.
Currently offers the following system statistics and associated data structures:
- CPU:
user
,system
,nice
,idle
(as values or percentages) - Disk usage:
filesystem
,one_k_blocks
,one_k_blocks_used
,one_k_blocks_free
,used_percentage
,mountpoint
- Load average:
one
,five
,fifteen
- Memory:
total
,free
,used
- Uptime:
seconds
As well as the following go-sbot process statistics:
- Sbot:
state
,memory
,uptime
,downtime
Example Usage
use peach_stats::{sbot, stats, StatsError};
fn main() -> Result<(), StatsError> {
let cpu = stats::cpu_stats()?;
let cpu_percentages = stats::cpu_stats_percent()?;
let disks = stats::disk_usage()?;
let load = stats::load_average()?;
let mem = stats::mem_stats()?;
let uptime = stats::uptime()?;
let sbot_process = sbot::sbot_stats()?;
// do things with the retrieved values...
Ok(())
}
Feature Flags
Feature flags are used to offer Serialize
and Deserialize
implementations for all struct
data types provided by this library. These traits are not provided by default. A choice of miniserde
and serde
is provided.
Define the desired feature in the Cargo.toml
manifest of your project:
peach-stats = { version = "0.1.0", features = ["miniserde_support"] }
License
LGPL-3.0.