-
-
Notifications
You must be signed in to change notification settings - Fork 4
Replace Intel Pin and implement eBPF-based coverage #116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
b30ea89
feat: replace Intel Pin with bpftrace + native Go ELF shim
ilmanzo 4d5235c
fix(shim): replace broken parseLibs with json.Unmarshal
ilmanzo 200ead6
fix(shim): pass image path as bpftrace arg, not format string
ilmanzo 6224207
fix: handle previously ignored read errors
ilmanzo 39310e2
fix(report): deterministic function order in text report
ilmanzo f9582fc
refactor(report): cache safeName regexp; reuse splitCalledUncalled
ilmanzo a255dc4
refactor: use slices.SortFunc + cmp.Compare in enumerate output
ilmanzo f8e7fc3
refactor(enumerate): parse ldd output with single regexp
ilmanzo 8718aea
refactor(shim): extract helpers and centralise cleanup in runWithTracing
ilmanzo dbc229c
refactor(cli): replace 150-line main switch with a command dispatch t…
ilmanzo d7db7ab
refactor: extract shared helpers into internal/funkutil package
ilmanzo f82e9fe
style: gofmt freshly-added shim and funkutil_test files
ilmanzo a7bd2fd
fix(shim): drop sched_process_exit cleanup + accept "Attached" msg
ilmanzo aaccb6b
fix(enumerate): drop glibc/runtime libs from sidecar tracing
ilmanzo aba97d4
fix(enumerate): prefer ELF symtab over DWARF
ilmanzo 15bbb03
feat: support dwz-compressed debug files via .gnu_debugaltlink
ilmanzo e9ad0ad
refactor: move dwz debug discovery to install phase via eu-unstrip
ilmanzo d4b6c89
fix: enumerate functions after merging debug info
ilmanzo 3652eb0
fix: eu-unstrip --force for PIE binaries with relocatable debug
ilmanzo 9763e6c
fix: externalDebugPath must use Contains for orphaned dwz files like …
ilmanzo c98c01e
feat: enumerate and trace library functions without debug info
ilmanzo 9d8b361
Fix ringbuf drain race: defer reader.Close() after detach to allow in…
ilmanzo 5c4d2d4
chore: ignore binary object files
ilmanzo 4785159
feat: implement eBPF-based function coverage (funkoverage)
ilmanzo 2a478e5
fix: address PR review — error handling, idempotent Stop, stale bpftr…
ilmanzo 5ebfbcf
feat: add E2E system binary tests, remove unused catch2
ilmanzo 5d53fdb
feat: add --include/--exclude regex function filters
ilmanzo d81df7e
Potential fix for pull request finding
ilmanzo 4e44c6a
fix: align tracer BPF file SPDX header with project license
Copilot 92c2e62
fix: check scanner.Err() after reading log files in analyzeLogs
Copilot 5f8c33e
refactor: use defer for file closing in analyzeLogs
Copilot 0817859
chore: add dual licensing (MIT + GPL-2.0-only for eBPF code)
ilmanzo aea66d2
update Go dependencies and bump pkg version
ilmanzo 9b5816e
update README and improve unit test coverage
ilmanzo 450aeaa
refactor: modernize code, extract helpers, fix resource leaks
ilmanzo 8dbaeb7
docs: add docs/design.md with architecture diagrams + clean obsolete …
ilmanzo 6330561
docs: add installation guide and dlopen() limitation
ilmanzo 8dd00f7
ci: upgrade actions to Node.js 24 (checkout@v6, setup-go@v6)
ilmanzo 577389a
avoid useless nil checking
ilmanzo 1fa6d05
feat: add ARM64 support alongside x86_64
ilmanzo 39b92ee
docs: remove obsolete bpftrace scaling docs
ilmanzo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,10 @@ | ||
| tests/test_func_tracer | ||
| example/cov_sample | ||
| obj-intel64/ | ||
| env | ||
| funkoverage | ||
| cmd/cmd | ||
| dynamorio/build/ | ||
| sysdeps/ | ||
| funkoverage-shim | ||
| tests/sample/sample | ||
| __pycache__/ | ||
| pin.log | ||
| .claude/settings.local.json | ||
| CLAUDE.md | ||
| *.o | ||
| !cmd/shim_binary/tracer_x86_bpfel.o | ||
| !cmd/shim_binary/tracer_arm64_bpfel.o |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.