Skip to content
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

ply: add dynamic tracing package using BPF #15527

Merged
merged 1 commit into from
May 31, 2024

Conversation

guidosarducci
Copy link
Contributor

Description:
ply is a light-weight dynamic tracer for Linux that leverages the kernel's BPF VM in concert with kprobes/tracepoints to attach probes to arbitrary points in the kernel.

Most tracers that generate BPF bytecode are based on the LLVM-based BCC toolchain; ply on the other hand has no external dependencies outside libc, making it suitable for use on constrained embedded systems.

Currently ply supports x86_64, aarch64, arm, riscv64, riscv32, powerpc, mips(el), and mips64(el) architectures.

Further documentation, examples and implementation details may be found at: https://github.com/iovisor/ply.

Testing: Repeatedly build and run-tested in the past against openwrt/master, using qemu/x86_64, qemu/armvirt[32|64], malta/mips32be, and most recently with malta/mips64el, with kernels ranging from 5.15 to 6.6.

CC: @zhaojh329 This is the package I've been using for a few years. Comments or improvements welcome!

This is intended to complement packages/devel/perf in the main repo.

@github-actions github-actions bot added the core packages pull request/issue for core (in-tree) packages label May 19, 2024
@guidosarducci guidosarducci force-pushed the master-add-ply branch 2 times, most recently from acf9823 to dad0a00 Compare May 25, 2024 22:38
ply is a light-weight dynamic tracer for Linux that leverages the kernel's
BPF VM in concert with kprobes/tracepoints to attach probes to arbitrary
points in the kernel.

Most tracers that generate BPF bytecode are based on the LLVM-based BCC
toolchain; ply on the other hand has no external dependencies outside libc,
making it suitable for use on constrained embedded systems.

Currently ply supports x86_64, aarch64, arm, riscv64, riscv32, powerpc,
mips(el), and mips64(el) architectures.

Further documentation, examples and implementation details may be found at:
https://github.com/iovisor/ply.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
@openwrt-bot openwrt-bot merged commit 87d5d38 into openwrt:main May 31, 2024
3 checks passed
@guidosarducci
Copy link
Contributor Author

@hauke Thanks!

@guidosarducci guidosarducci deleted the master-add-ply branch May 31, 2024 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core packages pull request/issue for core (in-tree) packages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants