Releases: iovisor/bcc
Update debian changelog for release v0.36.0
-
Support for kernel up to 6.18
-
New Tools
tools/softirqslower: New tool to trace slow software interrupt handlers (#5356) -
Enhanced Functionality
libbpf-tools/opensnoop: Added full-path support with-Foption (#5323, #5333)
libbpf-tools/filelife: Added full-path support (#5347, ab8e061)
libbpf-tools: Introduced path helpers (ab8e061)
libbpf-tools/trace_helpers: Added str_loadavg() and str_timestamp() common functions (694de9f)
libbpf-tools/filetop: Added directory filter capability (#5300)
libbpf-tools/runqslower: Added-coption to filter by process name prefix (673911c)
libbpf-tools/runqlat: Dynamically size pid/pidns histogram map (#5342)
libbpf-tools/fsdist, fsslower: Added support for fuse filesystem (9691c56)
libbpf-tools/tcptop: Major refactoring using fentry/fexit for better performance (75bb73a, e2c7917, d786eaa, da3a474)
tools/opensnoop: Added full-path support with-Foption (#5334, #5339)
tools/kvmexit: Added AMD processor support and parallel post-processing (13a4e5a, c2af2ee)
tools/offwaketime: Added raw tracepoint support to reduce overhead (380ee01)
Python uprobe API: Added functionality to detach all uprobes for a binary (#5325)
Python API: Added support for executing a program and tracing it (#5362) -
Bug Fixes
libbpf-tools/filelife: Fixed wrong full-path handling (#5347)
libbpf-tools/filelife: Fixed problem when using perf-buffer (ec8415b)
libbpf-tools/funclatency: Delete the element from thestartsmap after it has been used (06ce134)
libbpf-tools/offcputime: Fixed min/max_block_ns unit conversion error (#5327, d507a53)
libbpf-tools/syncsnoop: Added support for sync_file_range2 and arm_sync_file_range() (4287921)
libbpf-tools/ksnoop: Fixed two invalid access to map value (#5361)
libbpf-tools/klockstat: Allows kprobe fallback to work with lock debugging (#5359)
libbpf-tools/biotop: Fixed segmentation fault with musl libc build (52d2d09)
libbpf-tools/syscall_helpers, Python BCC: Updated syscall list (add file_getattr/file_setattr) (b63d7e3, a9c6650)
tools/tcpaccept: Fixed on recent kernels (c208d0e)
tools/tcpconnect: Fixed iov field for DNS with Linux>=6.4 (#5382)
tools/javaobjnew: Use MIN macro instead of min function (fb8910a)
tools/biolatency, biosnoop, biotop: Use TRACEPOINT_PROBE() for tracepoints (#5366)
Various tools: Don't use the old bpf_probe_read() helper (1cc15c3)
CC: Support versioned SONAME in shared library resolution (beb1fe4, c351210)
Python TCP: Added state2str() and applied to tools (bfa05d2)
s390 architecture: Prevent invalid mem access when reading PAGE_OFFSET (d8595ee) -
Build & Test Fixes
Fixed build failure with clang21 (#5369)
Fixed build for LLVM 23 by avoiding deprecated TargetRegistry overloads (#5401)
ci: Make version.cmake handle shallow clone (2232b7e)
ci: Various test fixes for proper CI operation (blk probes, rss_stat, kmalloc, btrfs/f2fs) (a499181, c338547, 6b7dd5d, ea5cf83)
tests: Added coverage for versioned SONAME resolution (c351210)
Removed luajit options to ensure no errors (26eaf13) -
Doc update, other bug fixes and tools improvement
Update debian changelog for release v0.35.0
* Support for kernel up to 6.14
* New bcc tools: mptcp: enable mptcp for tcp traffic
* tools/biosnoop: Fix biosnoop pattern option
* Allow cmake run out of the source tree
* Fix for test bpf_stack_id when running on custom image in yocto
* libbpf-tools/map_helpers: Add bpf_map_lookup_and_delete_batch to dump_hash
* libbpf-tools/biotop: Use dump_hash for map processing
* uninstall: use execute_process() instead of exec_program()
* clang: Fix pointer dereference on big-endian machines
* ci: Upgrade to ubuntu 24.04
* doc update, other bug fixes and example improvement.
Update debian changelog for release v0.34.0
* Support for kernel up to 6.13
* Bump cmake minimum version to 3.12
* statsnoop: Display syscall name with -s
* readahead: Fix incorrect page accessed count since kernel 5.16
* libbpf-tools/opensnoop: Add new fields
* libbpf-tools: hardirqs/softirqs: Fix logarithmic calculation issue
* libbpf-tools/hardirqs: have better default display and add CPU column
* libbpf-tools/klockstat: Better stack dump and summary info
* libbpf-tools/sigsnoop: Support real-time signals and thread comm
* libbpf-tools/statsnoop: Support more syscalls
* libbpf-tools/memleak: Some fixes and better messages
* tools/opensnoop: Add new fields and fix bad mode value
* tools/profile: Prioritize using the cpu-cycles hardware event
* tools/tcpdrop: Add support for dumping TCP drop reasons
* Fix event name too long error in python source
* doc update, other bug fixes and example improvement.
Update debian changelog for release v0.33.0
* Support for kernel up to 6.12
* Add new bcc tool numasched
* syms: Initialize ModulePath::fd_ to invalid FD
* libbpf-tools/memleak: Fix off-by-one error
* libbpf-tools/slabratetop: Fix failed to create kprobe error
* libbpf_tools/profile: Support PID namespace mapping
* libbpf-tools/mountsnoop: Support fsopen,fsconfig,fsmount,move_mount syscalls
* tools/oomkill: get application level stack trace
* tools/profile: Add additional information to backtrace
* tools/mountsnoop: Fix fsmount printing wrong flags
* tools/compactsnoop: Add aarch64 support
* doc update, other bug fixes and tools improvement.
Update debian changelog for release v0.32.0
* Support for kernel up to 6.11.
* bcc tool update: wakeuptime, readahead, shmsnoop, offcputime, cachestat, cachetop, hardirqs
* libbpf tool update: futexctn, profile, readhead, softirqs, hardirqs
* Multiple enhancements for memleak: better error path checking, adding mremap uprobe, etc.
* Support get pid/tgid in pid namespaces (cpudist, profile)
* multiple pid filtering support: profile, offcputime
* detect whether elf binary is PIE even if the binary is marked as DYN
* Fix several compilation issues with llvm20
* doc update, other bug fixes and tools improvement.
Update debian changelog for release v0.31.0
* Support for kernel up to 6.9.
* Add support for bcachefs to fsdist and fsslower tools
* libbpf tool update: memleak, syncsnoop, numamove, syscount, vfsstat, tcptop, capable, syncsnoop, sigsnoop, etc.
* bcc tool update: biolatency, biosnoop, biotop, vfsstat, kvmexit, sslsniff, swapin, etc.
* build: Remove llvm-dev dependency from libbcc
* build: Remove dependency on LLVM header from libbcc packages
* usdt: Fix bare register dereference on aarch64
* Extend `bcc_proc` API which allows to limit search to specific pid
* Fix several flaky tests.
* doc update, other bug fixes and tools improvement.
bcc release v0.30.0
* Support for kernel up to 6.8.
* Set minimum supported llvm version to 12, and add llvm17 test.
* Add workqueue latency observation tool.
* libbpf tool update: f2fsslower, opensnoop, futexctn, bindsnoop, ksnoop, klockstat, offcputime, etc.
* bcc tool update: memleak, ttysnoop, bashreadline, tcpdrop, execsnoop, etc.
* allow more flexible perf event options with new perf_custom_event_open() python API.
* Fix userspace stack unwinding on powerpc.
* add bpf_prog_test_run_opts() python API.
* several deb package related changes.
* Fix btf_type_tag issue with llvm 15.
* Fix several flaky tests.
* classify tools into different sub-categories.
* doc update, other bug fixes and tools improvement.
bcc release v0.29.1
A minor release to fix two issues below on top of v0.29.0:
- python/cmake: remove extraneous comma between variables
- *.py: fix "SyntaxWarning: invalid escape sequence" when using Python 3.12
bcc release v0.29.0
* Support for kernel up to 6.6.
* new bcc tools: rdmaucma
* new libbpf tools: f2fs, futexctn
* bcc tool update: tcpstates, statsnoop, runqlat, bio tools, tcptop, slabratetop, tcprtt, etc.
* libbpf tool update: tcprtt, tcppktlat, bio tools, execsnoop, bindsnoop, exitsnoop, etc.
* s390x support for libbpf-tools
* examples for perf/ipc
* expose pid parameter in bpf_open_perf_event
* allow for installing python as a non-system package
* ci improvement: deprecate ubuntu 18.04 and allow multiple llvm versions
* ci improvement: reitre fedora 34/26 and use fedora 38.
* fix misaligned pointer accesses in some ringbuf using libbpf-tools
* some new enhancement for powerpc and riscv.
* consolidate tools into different categories: filesystem/storage, networking, cpu and scheduling, etc.
* doc update, other bug fixes and tools improvement
bcc release v0.28.0
- Support for kernel up to 6.3.
- new libbpf tool: tcppktlat.
- bcc tool updates: funcslower, wakeuptime, profile, offcputime, deadlock, funccount, argdist, kvmexit, runqlen and cpuunclaimed.
- libbpf tool update: memleak, tcprtt, tcpconnlat, funclatency, syscount, cpufreq, biosnoop.
- support ringbuf_query for bcc tools.
- handle '[uprobes]' memory mapped file properly during stack tracing.
- Fix maximum allowed index for print_linear_hist for bcc tools.
- add module kfunc/kretfunc support.
- clang rewriter: initialize only the requested parameters
- filter with available_filter_functions to make multi-functions kprobes more robust for both bcc and libbpf tools.
- doc update, other bug fixes and tools improvement