with procs
This commit is contained in:
parent
af12f2b8c9
commit
db6f23440c
@ -1,5 +1,6 @@
|
|||||||
mod code;
|
mod code;
|
||||||
mod network;
|
mod network;
|
||||||
|
mod procs;
|
||||||
|
|
||||||
pub struct Stats;
|
pub struct Stats;
|
||||||
|
|
||||||
@ -12,7 +13,11 @@ impl Stats {
|
|||||||
impl util::Cmd for Stats {
|
impl util::Cmd for Stats {
|
||||||
fn cmd() -> eyre::Result<clap::Command> {
|
fn cmd() -> eyre::Result<clap::Command> {
|
||||||
let cmd = clap::Command::new("stats")
|
let cmd = clap::Command::new("stats")
|
||||||
.subcommands(&[code::Code::cmd()?, network::Network::cmd()?])
|
.subcommands(&[
|
||||||
|
code::Code::cmd()?,
|
||||||
|
network::Network::cmd()?,
|
||||||
|
procs::Procs::cmd()?,
|
||||||
|
])
|
||||||
.subcommand_required(true);
|
.subcommand_required(true);
|
||||||
|
|
||||||
Ok(cmd)
|
Ok(cmd)
|
||||||
@ -22,6 +27,7 @@ impl util::Cmd for Stats {
|
|||||||
match args.subcommand() {
|
match args.subcommand() {
|
||||||
Some(("code", args)) => code::Code::exec(args),
|
Some(("code", args)) => code::Code::exec(args),
|
||||||
Some(("network", args)) => network::Network::exec(args),
|
Some(("network", args)) => network::Network::exec(args),
|
||||||
|
Some(("procs", args)) => procs::Procs::exec(args),
|
||||||
_ => Stats::run(),
|
_ => Stats::run(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
29
crates/stats/src/procs.rs
Normal file
29
crates/stats/src/procs.rs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
pub struct Procs;
|
||||||
|
|
||||||
|
impl Procs {
|
||||||
|
fn run() -> eyre::Result<()> {
|
||||||
|
if let Err(_) = util::shell::run_with_input_and_output(&["procs", "--version"], "".into()) {
|
||||||
|
return Err(eyre::anyhow!(
|
||||||
|
"could not find procs, please install or add to PATH"
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
util::shell::run(&["procs"], None)?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl util::Cmd for Procs {
|
||||||
|
fn cmd() -> eyre::Result<clap::Command> {
|
||||||
|
let cmd = clap::Command::new("procs").subcommands(&[]);
|
||||||
|
|
||||||
|
Ok(cmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn exec(args: &clap::ArgMatches) -> eyre::Result<()> {
|
||||||
|
match args.subcommand() {
|
||||||
|
_ => Procs::run(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user