Skip to content

Releases: bpftrace/bpftrace

v0.20.3

26 Mar 01:15
Compare
Choose a tag to compare

[0.20.3] 2024-03-25

Fix build on pre-5.16 kernels.

v0.20.2

07 Mar 22:31
Compare
Choose a tag to compare

[0.20.2] 2024-03-07

Fix potential security issue with kheader unpacking.

v0.20.1

29 Jan 22:43
Compare
Choose a tag to compare

[0.20.1] 2024-1-29

Fix build on 32-bit systems.

v0.20.0

23 Jan 11:20
Compare
Choose a tag to compare

[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

  • Fix one-liner tutorial for systems with BTF

Tools

  • Add PPID field to execsnoop.bt
  • Use strftime instead of elapsed in execsnoop.bt
  • Use strftime instead of elapsed in threadsnoop.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

04 Oct 08:23
0e231e3
Compare
Choose a tag to compare

[0.19.1] 2023-10-04

Adds support for LLVM 17.

v0.19.0

19 Sep 10:15
Compare
Choose a tag to compare

[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 with nsecs(monotonic)
  • iter: Skip structures with '__safe_trusted' suffix
  • Improve detection of unknown typedefs in ClangParser

v0.18.1

31 Aug 17:17
Compare
Choose a tag to compare

[0.18.1] 2023-08-31

Fixed

  • Directly link bpftrace against zlib

v0.18.0

15 May 10:56
@fbs fbs
Compare
Choose a tag to compare

[0.18.0] 2023-05-15

Added

  • Add iter:task_vma iterators detection
  • Support parsing bitfields from BTF/DWARF
  • Support printing entire structs
  • BTF support for tracepoints defined in modules
  • Add trailer to truncated strings
  • Enable watchpoint support for PowerPC
  • Add new function, offsetof, get the offset of the element in the struct
  • Add 'StackMode::raw' for ustack and kstack formatting
  • Add 'BPFTRACE_STACK_MODE' env variable

Changed

  • Improve attaching to uprobes with size 0

Fixed

  • Simplify and fix probe index assignment
  • Handle colon in positional param used in attachpoint
  • Handle BPF load errors for multi-attachpoints
  • Respect BPFTRACE_STRLEN environment variable for all strings
  • Treat str() builtin's len parameter as int64
  • arm64: define the KASAN_SHADOW_SCALE_SHIFT macro
  • Fix segfaults in dwarf_parser

Docs

Tools

Deprecated

Removed

v0.17.1

20 Apr 20:45
@fbs fbs
Compare
Choose a tag to compare

[0.17.1] 2023-04-20

Backport of #2527 to fix Fedora 37 build error, see #2567 for details

v0.17.0

30 Jan 12:05
@fbs fbs
Compare
Choose a tag to compare

[0.17.0] 2023-01-30

Added

  • Support for 32-bit ARM systems
  • Support BTF for kernel modules
  • Add %rh option to print buffer as hex without \x
  • Add stdbool.h to built-in headers
  • Add strcontains builtin function, find a substring in a string

Changed

  • Raise minimum versions for libbpf and bcc and vendor them for local builds
  • Support comparison for integer arrays

Deprecated

Removed

  • Drop Ubuntu 19.10 lockdown detection

Fixed

  • Fix pointer/register loads on 32-bit architectures
  • Fix kprobe multi-attachment
  • Fix attaching to multiple USDT probes using the same wildcard
  • Fix pointer arithmetics codegen
  • Fix segfault for invalid AssignVarStatement visit
  • Better handling of missing function trace support files
  • Fix unroll ID reset
  • Support profile and interval probes in probe matcher
  • Fix BTF detection macro in tools/old/mdflush.bt