diff --git a/README.md b/README.md index acd67b0..5ca7099 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,50 @@ cryptarch ========= -Cryptarch is a tool that can be used to run commands and parse their responses -over a time range. +Cryptarch is a tool that can be used to run shell commands and observe their responses over time. It +is meant to aid system administrators, platform engineers, or anyone who spends time observing +things in a CLI. -This project is in the toy phase and might not do much or work very well. +- It's like `watch` except it can draw graphs, tables, etc. +- It's like a simplified `Prometheus` except you can run it directly in your console. + +This project is in an active, "alpha" development phase, but should still be useable. Usage ----- -``` -Usage of ./cryptarch: - -d int - Delay between queries (seconds). (default 3) - -l string - Log level. (default "error") - -m int - Mode to execute in. - -p string - Port for RPC. (default "12345") - -q value - Query to execute. (default 0xc0000145f0) - -r int - Result mode to display. (default 2) - -s Don't output anything to a console. - -t int - Number of query executions. -1 for continuous. (default 1) -``` +Cryptarch expects a **Query** to gather data with (e.g. a CLI command like `whoami` or `ps aux | wc +-l`). Queries produce **Results** that are stored as a time series. + +### Modes + +Cryptarch has **Modes"**. + +**Query mode** is the default and is for running shell commands. + +<> + +**Profile mode** is like Query mode except specialized for inspecting systems or processes. + +<> + +### Displays -Cryptarch executes in one of two modes. +Cryptarch also has **"Displays"** that determine how data is presented. -- **Query** mode is the default and is for querying. -- **Read** mode is for interacting with an already running Cryptarch instance. +**Stream display** just presents incoming data. -### Examples +<> + +**Table display** will parse results into a table. + +<> + +**Graph display** will target a specific field in a result and graph it. + +<> + +### More Examples > The examples below have been tested on `GNU bash, version 5.2.15(1)-release`. @@ -51,3 +62,17 @@ cryptarch -q 'df -h | grep nvme0n1p2 | awk '\''{print $3}'\''' cryptarch -q 'uptime' -s -t -1 & cryptarch -m 1 ``` + +Future +------ + +I've been adding planned work into [project issues](https://github.com/spacez320/cryptarch/issues) +and [project milestones](https://github.com/spacez320/cryptarch/milestone/1)--take a look there to +see what's coming. + +Big planned improvements include things like: + +- Ability to perform calculations on streams of data, such as aggregates, rates, or quantile math. +- Better text result management, such as diff'ing. +- Export data to external systems, such as Prometheus. +- More detailed graph display modes. diff --git a/media/graph-display.gif b/media/graph-display.gif new file mode 100644 index 0000000..486c164 Binary files /dev/null and b/media/graph-display.gif differ diff --git a/media/process-mode.gif b/media/process-mode.gif new file mode 100644 index 0000000..7318600 Binary files /dev/null and b/media/process-mode.gif differ diff --git a/media/query-mode.gif b/media/query-mode.gif new file mode 100644 index 0000000..e7e963b Binary files /dev/null and b/media/query-mode.gif differ diff --git a/media/table-display.gif b/media/table-display.gif new file mode 100644 index 0000000..6dddf26 Binary files /dev/null and b/media/table-display.gif differ