Skip to content

fix(ebpf): expand syscall probe coverage#30

Merged
btraven00 merged 1 commit into
mainfrom
fix/syscall-probe-coverage
May 14, 2026
Merged

fix(ebpf): expand syscall probe coverage#30
btraven00 merged 1 commit into
mainfrom
fix/syscall-probe-coverage

Conversation

@btraven00
Copy link
Copy Markdown
Owner

and fix categorizer mis-bucketing

The BPF program only attached tracepoints for 9 syscalls across file_io, memory, and network, so process/ipc/signal/time categories were always zero regardless of workload — workers forking via clone, futex contention, and signal traffic were invisible.

  • Add tracepoints for clone/fork/execve/exit/wait4/kill/exit_group, futex/pipe/pipe2, rt_sigaction/rt_sigprocmask/tgkill, nanosleep/clock_gettime/clock_nanosleep, munmap/brk, and accept/sendmsg/recvmsg/bind/accept4 (helps libcurl/TLS network signal).
  • Introduce a TRACE_SYSCALL macro so adding probes is a one-liner.
  • Rewrite categorize_syscall with per-arm syscall annotations. Fixes 63..=81 lumping fcntl/flock/fsync/getdents/chdir/uname into ipc, and 198..=203 placing futex and sched_setaffinity into network.
  • Add 12 unit tests including explicit regressions for both bugs.

…eting

The BPF program only attached tracepoints for 9 syscalls across file_io,
memory, and network, so process/ipc/signal/time categories were always
zero regardless of workload — workers forking via clone, futex contention,
and signal traffic were invisible.

- Add tracepoints for clone/fork/execve/exit/wait4/kill/exit_group,
  futex/pipe/pipe2, rt_sigaction/rt_sigprocmask/tgkill,
  nanosleep/clock_gettime/clock_nanosleep, munmap/brk, and
  accept/sendmsg/recvmsg/bind/accept4 (helps libcurl/TLS network signal).
- Introduce a TRACE_SYSCALL macro so adding probes is a one-liner.
- Rewrite categorize_syscall with per-arm syscall annotations. Fixes
  63..=81 lumping fcntl/flock/fsync/getdents/chdir/uname into ipc, and
  198..=203 placing futex and sched_setaffinity into network.
- Add 12 unit tests including explicit regressions for both bugs.
@btraven00 btraven00 force-pushed the fix/syscall-probe-coverage branch from 2249e95 to 9a74218 Compare May 14, 2026 20:21
@codecov
Copy link
Copy Markdown

codecov Bot commented May 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@btraven00 btraven00 merged commit 231c8c6 into main May 14, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant