summaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-06 10:00:26 +0300
committerPaul Buetow <paul@buetow.org>2026-05-06 10:00:26 +0300
commit60e00931aed47b7ce980575e37d43336bbb0914a (patch)
treec44f62fee141cf31e51db0fcaeef9eec9a691770 /AGENTS.md
parentd78a2530da91b76625b71c2aeaf3293abc6c3a4b (diff)
fix
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md13
1 files changed, 7 insertions, 6 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 3eceece..ac0b13e 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -15,16 +15,17 @@ make -C ../libbpfgo libbpfgo-static
If builds/tests fail with missing libbpf headers (for example `bpf/bpf.h` not found), rerun the commands above and then run `mage world`. Prefer Mage targets over raw `go test` for packages that import `libbpfgo`; Mage wires the required `CGO_CFLAGS`, `CGO_LDFLAGS`, and `LIBBPFGO` values.
```bash
-mage all # Build everything (BPF objects and Go binary)
+mage build # Build BPF object + Go binary (all is an alias)
mage buildDocker # Build ior inside a Rocky Linux 9 container (writes binary to repo root)
-mage test # Run all tests
+mage test # Run all tests
TEST_NAME=TestEventloop mage testWithName # Run specific test
-mage integrationTest # Build + run integration tests (default parallelism is capped)
-INTEGRATION_PARALLEL=1 mage integrationTest # Force serial integration tests
+mage integrationTest # Build + run integration tests in parallel (parallelism capped to NumCPU)
+mage integrationTestSerial # Build + run integration tests one at a time
mage generate # Generate code (required after modifying tracepoint definitions)
mage bench # Run benchmarks
mage prReview # Run PR review baseline: world + benchProf
mage clean # Clean build artifacts
+mage mrproper # Clean + remove generated outputs (*.zst, *.svg, *.prof, *.pdf, *.tmp…)
mage world # Clean + generate + test + build (recommended reset path)
mage demo # Regen docs/tutorial/ GIFs + screenshots (needs vhs+ttyd, sudo -v warmed)
TAPE=07-stream-live mage demoOne # Regen one demo tape only
@@ -33,7 +34,7 @@ mage installDemoTools # One-time: install vhs (go install) and ttyd (dnf)
## Demo Pipeline
-`docs/tutorial/` holds the reproducible TUI demo: 14 [VHS](https://github.com/charmbracelet/vhs) `.tape` files under `docs/tutorial/tapes/` drive every dashboard tab and headless mode, write GIFs and PNGs into `docs/tutorial/assets/`, and the resulting tutorial is `docs/tutorial/TUTORIAL.md`. Background workload is generated by `docs/tutorial/scripts/workload.sh`. `mage demo` is fully headless (no real terminal window) — safe to run in the background while editing code; the only foreground requirement is one `sudo -v` to pre-warm the sudo timestamp.
+`docs/tutorial/` holds the reproducible TUI demo: 14 [VHS](https://github.com/charmbracelet/vhs) `.tape` files under `docs/tutorial/tapes/` drive every dashboard tab and headless mode, write GIFs and PNGs into `docs/tutorial/assets/`, and the resulting tutorial is `docs/tutorial/tutorial.md`. Background workload is generated by `docs/tutorial/scripts/workload.sh`. `mage demo` is fully headless (no real terminal window) — safe to run in the background while editing code; the only foreground requirement is one `sudo -v` to pre-warm the sudo timestamp.
## Code Generation
@@ -71,7 +72,7 @@ Generator source code:
- **TUI trace flow** ingests events into the in-memory stats engine; it does **not** continuously write trace rows to disk.
- **File output in TUI** is explicit export only (`e`), writing `ior-stream-<timestamp>.csv` in the current directory from the current filtered stream snapshot.
- **Export toggle flag**: `-tuiExport=true|false` (default `true`) enables or disables TUI stream CSV export at runtime.
-- **Tab navigation** supports `tab/shift+tab`, numeric keys `1..6`, and directional keys `left/right` and `h/l`.
+- **Tab navigation** supports `tab/shift+tab`, numeric keys `1..7`, and directional keys `left/right` and `h/l`.
- **When export is disabled**, export key hints are hidden from dashboard help and `e` does not open export modal.
## Code Style