summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-24tui: add dashboard sparkline rendererPaul Buetow
2026-02-24tui: add dashboard tab framework modelPaul Buetow
2026-02-24ior: route default mode through tui and add plain flagPaul Buetow
2026-02-23tui: add top-level model and run entrypointPaul Buetow
2026-02-23tui: add pid picker model and /proc scannerPaul Buetow
2026-02-23tui: add shared bubbletea message types (task 302)Paul Buetow
2026-02-23task 302: add shared tui styles and key bindingsPaul Buetow
2026-02-23task 302: add stats engine orchestration and snapshotsPaul Buetow
2026-02-23task 303: add per-process accumulator with pid-reuse guardPaul Buetow
2026-02-23task 303: add fixed-bucket log-scale histogramPaul Buetow
2026-02-23task 305: add top-N file ranker with bounded cardinalityPaul Buetow
2026-02-23task 305: add per-syscall accumulator with reservoir percentilesPaul Buetow
2026-02-23task 305: add ring time series with wrap-around and gap testsPaul Buetow
2026-02-23task 304: harden snapshot immutability after sub-agent reviewPaul Buetow
2026-02-23task 304: add immutable statsengine snapshot typesPaul Buetow
2026-02-23Use NumCPU*2 as default integration test parallelismPaul Buetow
2026-02-23Harden integration workloads against dropped event flakesPaul Buetow
2026-02-23Run integration tests in parallel by default and stabilize flaky scenariosPaul Buetow
2026-02-23docs: record decision on idle pseudo-event bucketPaul Buetow
2026-02-23tests: cover durationToPrev gap semanticsPaul Buetow
2026-02-23docs: define durationToPrev timing semanticsPaul Buetow
2026-02-23integrationtests: add opt-in parallel execution modePaul Buetow
2026-02-23flags: document open_by_handle_at CO-RE re-evaluationPaul Buetow
2026-02-23integrationtests: add pidfd_getfd scenarios and testsPaul Buetow
2026-02-23Track pidfd_getfd returned fds in eventloopPaul Buetow
2026-02-23Add baseline pidfd_getfd tracepoint supportPaul Buetow
2026-02-23Add getcwd tracing support and stabilize comm propagation testPaul Buetow
2026-02-23Fix integration trace expectations and fd/open event handlingPaul Buetow
2026-02-22some stuffPaul Buetow
2026-02-22Fix event comm attribution and reduce integration log noisePaul Buetow
2026-02-22Stabilize close invalid-fd integration test against empty commPaul Buetow
2026-02-22Filter noisy tracepoint attach lines from integration LOG outputPaul Buetow
2026-02-22Stream live integration test status and per-test logsPaul Buetow
2026-02-22Add heartbeat progress logs for integration test runsPaul Buetow
2026-02-22Add copy_file_range support and tracepoint attach testsPaul Buetow
2026-02-22Implement mmap/msync syscall support with unit and integration coveragePaul Buetow
2026-02-22Implement sync_file_range coverage and document mage world bootstrapPaul Buetow
2026-02-21Split ioworkload scenarios.go into per-category filesPaul Buetow
Split the 2494-line scenarios.go monolith into 14 focused files by syscall category: open, readwrite, close, dup, fcntl, rename, link, unlink, dir, stat, sync, truncate, iouring, plus the slimmed-down scenarios.go containing only the registry map, makeTempDir, and crash. Extracted rawLink, rawSymlink, rawReadlink helpers in scenario_link.go to reduce code duplication in linkBasic. Task: #349 (Go best practices: split oversized scenarios file) Amp-Thread-ID: https://ampcode.com/threads/T-019c81c6-e1b6-747a-9144-40f6be997e60 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative tests for all internal unit tests (task 348)Paul Buetow
- internal/types: Fix StringValue panic with no null terminator, add negative tests for serialization, Equals, and StringValue edge cases - internal/file: Add negative tests for empty name, unknown flags, SetFlags/AddFlags, Dup, empty OldnameNewname and Pathname - internal/flamegraph: Add negative tests for StringByName unknown field, Counter.ValueByName panic, merge empty, deserialize invalid data, serialize/deserialize round-trip - internal/generate/format: Add negative tests for empty input, ID errors, malformed fields, empty declarations - internal/generate/typesgo: Add negative tests for snakeToCamel edge cases, unknown types, invalid member/define parsing, no-import case - internal/generate/tracepointsgo: Add negative tests for malformed SEC, no SEC lines - internal/generate/codegen: Add negative tests for unknown event kind, invalid syscall grouping, missing exit tracepoint - internal/generate/classify: Add negative tests for empty external fields, non-fd types Amp-Thread-ID: https://ampcode.com/threads/T-019c81bf-3d5c-7216-b1b6-890db1374414 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for io_uring syscalls (EBADF)Paul Buetow
Add two new scenarios and tests: - iouring-enter-ebadf: io_uring_enter with invalid fd 99999 - iouring-register-ebadf: io_uring_register with invalid fd 99999 Both verify ior captures the tracepoint even when the syscall fails. Task: 348 Amp-Thread-ID: https://ampcode.com/threads/T-019c81bb-a460-7298-a25a-fa33502272b9 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for truncate syscalls (task 348)Paul Buetow
Add two negative test scenarios: - truncate-enoent: SYS_TRUNCATE on nonexistent file, expects ENOENT - truncate-ftruncate-ebadf: SYS_FTRUNCATE on invalid fd 99999, expects EBADF Both verify ior captures tracepoints even when syscalls fail. Amp-Thread-ID: https://ampcode.com/threads/T-019c81b7-9641-763e-b99e-20a0d3552005 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for sync syscalls (task 348)Paul Buetow
Add three EBADF scenarios testing ior's ability to capture sync-related tracepoints even when the underlying syscall fails: - sync-fsync-ebadf: fsync on invalid fd, expects enter_fsync - sync-fdatasync-ebadf: fdatasync on invalid fd, expects enter_fdatasync - sync-file-range-ebadf: sync_file_range on invalid fd, expects enter_sync_file_range Amp-Thread-ID: https://ampcode.com/threads/T-019c81b4-216a-732c-90b1-e6771e27ed75 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for stat syscalls (task 348)Paul Buetow
Add three negative test scenarios for stat-family syscalls: - stat-enoent: SYS_STAT on nonexistent file (ENOENT) - stat-access-enoent: SYS_ACCESS on nonexistent file (ENOENT, since tests run as root and EACCES is bypassed) - stat-fstat-ebadf: SYS_FSTAT on invalid fd 99999 (EBADF) Each scenario verifies that ior captures the tracepoint on syscall entry even when the syscall fails. Amp-Thread-ID: https://ampcode.com/threads/T-019c81af-d01d-75db-8a92-37951fb1503c Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for dir syscalls (task 348)Paul Buetow
Add three negative test scenarios for directory operations: - dir-mkdir-eexist: SYS_MKDIR on existing directory (EEXIST) - dir-chdir-enoent: SYS_CHDIR to nonexistent directory (ENOENT) - dir-getdents-ebadf: SYS_GETDENTS64 with invalid fd (EBADF) All use raw syscalls to hit exact tracepoints. Tests verify ior captures events even when syscalls fail (entry-side capture). Amp-Thread-ID: https://ampcode.com/threads/T-019c81ab-0d62-726e-b859-91b4898be6fe Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for unlink syscalls (task 348)Paul Buetow
Add three negative test scenarios for unlink syscall family: - unlink-enoent: SYS_UNLINK on nonexistent file (ENOENT) - unlink-rmdir-notempty: SYS_RMDIR on non-empty directory (ENOTEMPTY) - unlink-unlinkat-enoent: SYS_UNLINKAT on nonexistent file (ENOENT) All scenarios use raw syscalls to hit exact tracepoints and verify ior captures them on entry even when the kernel returns an error. Amp-Thread-ID: https://ampcode.com/threads/T-019c81a6-6612-7247-9d54-6da5b63a38b4 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for link syscalls (task 348)Paul Buetow
Add three negative scenarios and tests: - link-enoent: hard link to nonexistent source (ENOENT) via raw SYS_LINK - link-symlink-eexist: symlink where target already exists (EEXIST) via raw SYS_SYMLINK - link-readlinkat-einval: readlinkat on non-symlink file (EINVAL) via SYS_READLINKAT All use raw syscalls to hit exact tracepoints. ior captures on syscall entry, so even failed syscalls have their arguments recorded. Amp-Thread-ID: https://ampcode.com/threads/T-019c81a2-693b-716f-9ed2-25a674f1fc9a Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for rename syscalls (task 348)Paul Buetow
- rename-enoent: rename nonexistent file via SYS_RENAME (ENOENT) - rename-noreplace: renameat2 with RENAME_NOREPLACE on existing target (EEXIST) Both verify ior captures tracepoints on entry even when syscall fails. Amp-Thread-ID: https://ampcode.com/threads/T-019c819e-cdae-7777-9be6-992ca8a7b96b Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for fcntl syscalls (task 348)Paul Buetow
Add two negative scenarios: - fcntl-invalid-fd: calls SYS_FCNTL F_GETFL on invalid fd 99999 (EBADF) - fcntl-dupfd-max: calls F_DUPFD with minfd=1<<30 beyond RLIMIT_NOFILE (EINVAL) Both verify ior captures enter_fcntl tracepoints even when syscalls fail. Amp-Thread-ID: https://ampcode.com/threads/T-019c819b-5673-75ab-8eb4-227b6cf56b38 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for dup syscallsPaul Buetow
Add three negative test scenarios for dup syscalls: - dup-invalid-fd: dup on invalid fd 99999 (EBADF) - dup2-same-fd: dup2(fd, fd) no-op case (POSIX documented behavior) - dup3-invalid-flags: dup3 with 0xBAD flags (EINVAL) All verify ior captures the tracepoint even when the syscall fails, since BPF reads arguments on syscall entry before execution. Task: 348 Amp-Thread-ID: https://ampcode.com/threads/T-019c8196-6186-7054-a4e5-640fce69e493 Co-authored-by: Amp <amp@ampcode.com>
2026-02-21Add negative integration tests for close syscallsPaul Buetow
Add three negative scenarios to verify ior captures tracepoints even when close syscalls fail: - close-invalid-fd: close an fd (99999) that was never opened (EBADF) - close-double-close: open a file, close it, close same fd again (EBADF) - close-range-empty: close_range on high fd range with no open fds Task: 348 Amp-Thread-ID: https://ampcode.com/threads/T-019c8190-c9ae-776e-b00d-476207d8c10e Co-authored-by: Amp <amp@ampcode.com>