You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6 KiB


Generic badge

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...


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"] }