linux-taskstats

Crates.iolinux-taskstats
lib.rslinux-taskstats
version0.6.0
sourcesrc
created_at2020-05-25 14:40:13.009283
updated_at2024-04-04 09:55:59.321114
descriptionRust interface to Linux taskstats
homepage
repositoryhttps://github.com/kawamuray/linux-taskstats-rs
max_upload_size
id245607
size78,717
Yuto Kawamura (kawamuray)

documentation

https://docs.rs/linux-taskstats

README

linux-taskstats-rs

Rust interface to Linux's taskstats.

This crate provides access to taskstats which is known as a way to access task's "delay" information a.k.a Delay Accounting.

Usage

use linux_taskstats::{self, Delays, Client};

fn get_thread_delays(pid: u32) -> Result<Delays, linux_taskstats::Error> {
    let client = Client::open()?;
    let ts = client.pid_stats(pid)?;
    Ok(ts.delays)
}

fn get_process_delays(pid: u32) -> Result<Delays, linux_taskstats::Error> {
    let client = Client::open()?;
    let ts = client.tgid_stats(pid)?;
    Ok(ts.delays)
}

How to build

cargo test
cargo build

Or on platform other than linux:

./docker-build/build-docker-image.sh # Just once, creates a image `taskstats-build:latest`
./docker-build/build.sh
# The outputs will be created under docker-build/target

License

MIT

Commit count: 59

cargo fmt