Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.

*.csv
procmon/
procplot/

# builds
dist/
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[package]
name = "procmon"
name = "procplot"
version = "0.2.0"
edition = "2024"
description = "A command line utility that spawns a process and produces a csv report on its resource usage"
Expand Down
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
A command line utility that spawns a process and produces a `csv` report on its resource usage.

```bash
Usage: procmon [OPTIONS] [COMMAND]...
Usage: procplot [OPTIONS] [COMMAND]...

Arguments:
[COMMAND]... Command to run

Options:
-r, --report <REPORT_PATH> Output path for the generated report [env: PM_REPORT=] [default: procmon.csv]
-r, --report <REPORT_PATH> Output path for the generated report [env: PM_REPORT=] [default: procplot.csv]
-i, --interval <POLL_INTERVAL> How often to probe the process for details in milliseconds [env: PM_INTERVAL=] [default: 200]
-m, --mem-units <MEM_UNITS> What units to use for recording memory [env: PM_MEM_UNITS=] [default: mb] [possible values: mb, kb, b]
-t, --time-units <TIME_UNITS> What units to use for recording time [env: PM_TIME_UNITS=] [default: ms] [possible values: s, ms]
Expand All @@ -23,13 +23,13 @@ Options:
# Usage

```bash
procmon -- node -e "setTimeout(() => console.log('Sup'), 4000)"
procplot -- node -e "setTimeout(() => console.log('Sup'), 4000)"
```

This will produce a file named `procmon.csv`
This will produce a file named `procplot.csv`

```bash
procmon --report something.csv -- node -e "setTimeout(() => console.log('Sup'), 4000)"
procplot --report something.csv -- node -e "setTimeout(() => console.log('Sup'), 4000)"
```

This will produce a report called `something.csv`
Expand All @@ -55,35 +55,35 @@ time_s,cpu,memory_mb,disk_read,disk_write
## MacOS

```bash
mkdir -p $HOME/.local/procmon
curl -L --url https://github.com/alshdavid/procmon/releases/latest/download/macos-arm64.tar.gz | tar -xvzf - -C $HOME/.local/procmon
echo "\nexport \PATH=\$PATH:\$HOME/.local/procmon\n" >> $HOME/.zshrc
mkdir -p $HOME/.local/procplot
curl -L --url https://github.com/alshdavid/procplot/releases/latest/download/macos-arm64.tar.gz | tar -xvzf - -C $HOME/.local/procplot
echo "\nexport \PATH=\$PATH:\$HOME/.local/procplot\n" >> $HOME/.zshrc
source $HOME/.zshrc
```

#### Updating

```bash
rm -rf $HOME/.local/procmon
mkdir -p $HOME/.local/procmon
curl -L --url https://github.com/alshdavid/procmon/releases/latest/download/macos-arm64.tar.gz | tar -xvzf - -C $HOME/.local/procmon
rm -rf $HOME/.local/procplot
mkdir -p $HOME/.local/procplot
curl -L --url https://github.com/alshdavid/procplot/releases/latest/download/macos-arm64.tar.gz | tar -xvzf - -C $HOME/.local/procplot
```

## Linux

```bash
mkdir -p $HOME/.local/procmon
curl -L --url https://github.com/alshdavid/procmon/releases/latest/download/linux-amd64.tar.gz | tar -xvzf - -C $HOME/.local/procmon
echo "\nexport \PATH=\$PATH:\$HOME/.local/procmon\n" >> $HOME/.zshrc
mkdir -p $HOME/.local/procplot
curl -L --url https://github.com/alshdavid/procplot/releases/latest/download/linux-amd64.tar.gz | tar -xvzf - -C $HOME/.local/procplot
echo "\nexport \PATH=\$PATH:\$HOME/.local/procplot\n" >> $HOME/.zshrc
source $HOME/.zshrc
```

#### Updating

```bash
rm -rf $HOME/.local/procmon
mkdir -p $HOME/.local/procmon
curl -L --url https://github.com/alshdavid/procmon/releases/latest/download/linux-amd64.tar.gz | tar -xvzf - -C $HOME/.local/procmon
rm -rf $HOME/.local/procplot
mkdir -p $HOME/.local/procplot
curl -L --url https://github.com/alshdavid/procplot/releases/latest/download/linux-amd64.tar.gz | tar -xvzf - -C $HOME/.local/procplot
```

## Credit
Expand Down
2 changes: 1 addition & 1 deletion src/args.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ pub struct Args {
pub command: Vec<String>,

/// Output path for the generated report
#[arg(short = 'r', long = "report", env = "PM_REPORT", value_parser = parse_file_path, default_value = "procmon.csv")]
#[arg(short = 'r', long = "report", env = "PM_REPORT", value_parser = parse_file_path, default_value = "procplot.csv")]
pub report_path: PathBuf,

/// How often to probe the process for details in milliseconds
Expand Down
6 changes: 3 additions & 3 deletions test/install.bash
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cargo build --release
rm -rf $HOME/.local/procmon
mkdir -p $HOME/.local/procmon
cp ./target/release/procmon ~/.local/procmon
rm -rf $HOME/.local/procplot
mkdir -p $HOME/.local/procplot
cp ./target/release/procplot ~/.local/procplot
Loading