Releases: bpftrace/bpftrace
Releases ยท bpftrace/bpftrace
v0.21.2
v0.21.1
v0.21.0
[0.21.0] 2024-06-21
Added
- Add
lazy_symbolication
config option - Add ability to list all probes in a program
- Add ability to call print() with indexed maps to print single map values
- Add LLVM 18 support
- Add ability to call delete() with multiple arguments
- Add for-each loops for iterating over map elements
- Add optional systemd support
- Add ability to attach uprobes to inlined functions
- Enable count, sum, min, and max map reads in kernel space (implicit casting)
- Add config option for handling missing probes
Changed
- Better error message for args in mixed probes
- Reproducible Builds: Do not store timestamps in gzip header
- Improve DWARF support, using liblldb instead of libdw
- Use new hash function to reduce collisions when aggregating on stack traces
- Disable func builtin for kretprobes and uretprobes when
get_func_ip
feature is not available - Move error printing from debug to verbose mode
- Better error message when libbpf is too old
- Allow trailing semicolons and empty blocks in config syntax
- Allow attaching to
spin_lock
functions with mitigations to prevent deadlocks - Remove length limitations for strings coming out of
str()
andpath()
Deprecated
- Deprecate
sarg
builtin
Removed
Fixed
- Fix ability to interrupt bpftrace during probe attach
- Fix field resolution on structs with anon union as first field
- Fix alignment of atomic map counter update
- Fix func builtin for kretprobes and uretprobes for kernels with working
get_func_ip
feature - Fix ustack missing the second-from-top stack frame in uprobes
- Fix storing strings of differing lengths in a variable
- Fix field resolution for structs in arrays
- Fix error in dereferencing kernel double pointers
- Fix variable corruption when used as map key
- Fix crash when assigning a record type to a map
- Fix type resolution for pointers with
BTF_KIND_TYPE_TAG
- Fix attachment of probes attaching to wildcarded and non-wildcarded kprobes
Security
- Don't unpack kernel headers or look in tmp
Docs
Tools
- Ignore warnings for missing probes
v0.20.4
[0.20.4] 2024-05-20
Don't unpack kernel headers or look in tmp
v0.20.3
v0.20.2
v0.20.1
v0.20.0
[0.20.0] 2024-01-22
Added
- Add log2 histograms with finer granularity
- Add a
jiffies
builtin for advanced usages - Emit better errors messages for invalid attachpoints
- Add support for uprobe_multi link
- Attach BTF to generated BPF programs
- Add fentry/fexit aliases for kfunc/kretfunc
- Add support for uprobe pid targeting
- New builtin for getting the number of map elements
- Add more helpful error messages for map operations
- New config block syntax
Changed
- Standardize config and env var names
Deprecated
Removed
- Remove snapcraft support
Fixed
- Fix JSON output for cgroup_path
- Fix silent truncation of 64-bit values in hist()
- utils: use /data/local/tmp as temprary dir on Android
- Fix uprobe multi probe for targets with wildcards
- Fix symbolication on for 32-bit userspcae and 64-bit kernel
- Fix retval for kretfunc/fexit
- Fix attachment/listing of wildcarded module kfuncs
- Fix uprobe attachment across container boundary
- Fix generated BTF for older kernels
Docs
Tools
- Add PPID field to
execsnoop.bt
- Use
strftime
instead ofelapsed
inexecsnoop.bt
- Use
strftime
instead ofelapsed
inthreadsnoop.bt
- Increase PID field width and align to the right in
threadsnoop.bt
- Update runqlen.bt to remove
runnable_weight
field from cfs_rq struct. - Update mdflush.bt to use blkdev.h instead of genhd.h for non-BTF builds.
- Add milliseconds to timestamp and align numbers to the right in
killsnoop.bt
v0.19.1
[0.19.1] 2023-10-04
Adds support for LLVM 17.
v0.19.0
[0.19.0] 2023-09-19
Added
- Rawtracepoint support wildcards and list show
- Support all iterators
- Improve working with all probe params (kfunc, uprobe)
- Support func builtin for k(ret)func probes
- Support casting int <-> int array
- Support targeting all running processes for USDTs
Changed
- Make
args
a structure (instead of a pointer) - Improve user symbol resolution
- uprobes: make C++ symbol demangling explicit
- uprobe: improve C++ probes listing
Fixed
- Fix resolving username for malformed /etc/passwd
- Fix crashes when maps are concurrently modified
- Fix alignment of byte arrays inside tuples
- cmake: fix linking libbfd
- Allow '+' in attach point path
- Improve listing and 'probe' builtin for several probe types
- Allow probe builtin with aliased software/hardware probes
- Support executing symlinked binaries with
-c
- Add access to
CLOCK_MONOTONIC
withnsecs(monotonic)
- iter: Skip structures with '__safe_trusted' suffix
- Improve detection of unknown typedefs in ClangParser