#![warn(missing_docs)] //! # peach-stats //! //! System statistics retrieval library; designed for use with the PeachCloud platform. //! //! Currently offers the following 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` //! //! ## Example Usage //! //! ```rust //! use peach_stats::{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()?; //! //! 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: //! //! ```toml //! peach-stats = { version = "0.1.0", features = ["miniserde_support"] } //! ``` pub mod error; pub mod sbot; pub mod stats; pub use crate::error::StatsError;