0.0.34 - 2023-10-25
- Update readme to indicate that crate is not actively maintained and that users should consider libbpf-rs instead
- Bugfix (byte ordering) in the tcpretrans example
0.0.33 - 2022-09-09
- Support to dump BPF program instructions. (#181)
- Support for attaching BPF programs to sockets. (#191)
- Removes potential segfault in safe code by making
Table::new()
inaccessible outside of this crate. (#192) - Various fixes to support running in CI environment. (#194)
0.0.32 - 2021-11-23
- Adds support for bcc 0.19.0
- Adds support for bcc 0.20.0
- Adds support for bcc 0.21.0
- Adds support for bcc 0.22.0
- Adds support for bcc 0.23.0
- Default bcc version is now 0.23.0
0.0.31 - 2021-03-29
- Fixed a few examples to use unaligned pointer reads.
- Adds support for bcc 0.18.0
- Adds raw perf event support.
- Adds User Statically-Defined Tracing (USDT) support.
0.0.30 - 2020-11-23
biosnoop
andopensnoop
examples now use the new builder pattern for creatingPerfMap
s.
- Support for bcc 0.17.0
- Now supporting BPF
RingBuf
data structures.
- Default bcc version is now 0.17.0
- Marked
init_perf_map
function as deprecated.PerfMapBuilder
should be used instead.
0.0.29 - 2020-10-20
get_syscall_fnname
now returns proper prefix.
0.0.28 - 2020-10-06
- Adds BPF debug level to remaining load methods.
- Setting the debug level on the
BPFBuilder
no-longer returns a result, as it cannot fail. Improves ergonomics.
0.0.27 - 2020-10-01
- Support for loading BPF programs with
load_func()
, which enables BPF tail-calls. - Support for setting BPF debug level.
- Support for XDP programs, used for packet processing.
0.0.26 - 2020-09-23
- Resolved collisions between uprobes and uretprobes when the same symbol is used for each.
0.0.25 - 2020-09-15
- Support for bcc 0.16.0
- Builder-pattern construction of
BPF
struct. - Support for passing
CFLAGS
to BPF module creation. - Builder-pattern construction of
PerfMap
s. - Support for setting the size of the
PerfMap
ring buffer.
- Default bcc version is now 0.16.0
- Some function signatures now return
Result
s to enable better error handling and reduce internalunwrap()
usage. - Some error types now include additional messaging.
- Builds on
aarch64
by correcting the internal representation ofchar
types.
0.0.24 - 2020-08-20
Kprobe
s andUprobe
s are now properly closed on drop. Fixed #44
0.0.23 - 2020-08-13
- Support for
BPF_PERF_ARRAY
.
PerfEvent
s are not properly closed on drop.- BPF
Table
now returns the value for the first entry instead of always returning zero for the first entry.
0.0.22 - 2020-08-03
- Support for attaching probes to perf events and related examples.
- Implementation of
get_syscall_fnname
to support in resolving system calls to function names.
- Converted probe construction to a builder-style pattern with new public types to initialize and attach probes.
- Changed
bcc::core
to now be internal only. Public interface to core functionality is now in the root of the module.
0.0.21 - 2020-07-24
- Iterating on an empty table would improperly return an entry (#100)
- Fixed some issues with static linking by pulling in a newer version of bcc-sys
- LLVM 9 is now the default expected toolchain for static builds
0.0.20 - 2020-07-06
- Added support for bcc 0.15.0
- Changed default bcc version to 0.15.0
0.0.19 - 2020-07-02
- Added support for bcc 0.14.0
- Changed default bcc version to 0.14.0
0.0.18 - 2020-06-29
- Changed error handling to use
thiserror
instead offailure
0.0.17 - 2020-03-20
- Added support for bcc 0.13.0
- Changed default bcc version to 0.13.0
- Updated dependencies
0.0.16 - 2020-02-03
- Makes BPF struct both
Send
andSync
by usingAtomicPtr
s instead of bare pointers
0.0.15 - 2020-01-10
- Added support for bcc 0.12.0, making it the new default version
0.0.14 - 2019-12-10
- Added support for bcc 0.11.0, making it the new default version
- Added support for raw tracepoints
0.0.13 - 2019-10-07
- Added support to pull multiple perf buffers at once
0.0.12 - 2019-09-16
- Added
biosnoop
example which traces block device IO and is used to test theget_kprobe_functions()
function in CI
- Use explicit
dyn
on trait objects - Fixed segfault caused by passing non-null buffer to
bpf_prog_load()
0.0.11 - 2019-09-07
- Added
runqlat
example to get the distribution of runqueue latency and exercise kprobes during CI - Added
get_kprobe_functions()
which exists in the Python API
- Fixed the 'oh no' bug which would cause panic when using rust-bcc for perf events on some systems. Particularly, this would trigger if some CPUs were offline
0.0.10 - 2019-07-08
- Added bcc 0.10.0 support
- Added signal handler to examples for
SIGINT
/SIGTERM
so thatDrop
implementations are invoked onctrl-c
0.0.9 - 2019-05-22
- Fixed an issue with static linking by updating the
bcc-sys
dependency
0.0.7 - 2019-05-14
- Added bcc 0.9.0 support
0.0.6 - 2019-03-15
- Added support for multiple bcc versions via feature flags
- Added support for bcc versions 0.5.0, 0.6.0, 0.6.1, 0.7.0, 0.8.0
- Added static linking via feature flag
0.0.5 - 2019-02-17
- Updates to Rust 2018 edition
0.0.4 - 2018-05-07
- Added support for tracepoints
- Added
softirqs
example using tracepoints to track time spent in each softirq handler
- Fixed missing LICENSE file
- Fixed hardcoded CPU IDs
0.0.3 - 2018-02-08
- Fixed safety issues around perf closure API
- Improved error messages for probe attach failures
0.0.2 - 2018-02-06
- Fixed unnecessary clone in perf event callback
- Grab bag of idiomatic rust cleanup
0.0.1 - 2018-02-05
Initial release.