glyph add169db07
continuous-integration/drone/pr Build is failing Details
bump patch version
2022-07-14 08:57:34 +01:00
src remove --user and add sudo for systemctl calls 2022-07-14 08:57:22 +01:00
.gitignore First workspace commit 2021-08-06 13:58:40 -04:00
.travis.yml First workspace commit 2021-08-06 13:58:40 -04:00
Cargo.toml bump patch version 2022-07-14 08:57:34 +01:00 add sbot docs and bump version 2022-01-25 11:39:28 +02:00


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