peach-workspace/peach-stats/README.md

1.6 KiB

peach-stats

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

    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.