v2.3.0 / 2023-12-26
Highlights:
- Added support for
fanotify
for a faster and more reliable cgroup monitoring (#244, #263, #264, #265, #266, #279, #288) - Added builds with built-in libbpf (now preferred) and system provided libbpf (#286)
- Started publishing Docker images on GitHub (#271, #290, #291, #292, #293, #294, #295)
New examples:
- Added
icmp-ip
example withinet_ip
decoder (#251) - Added
pci_vendor
,pci_device
,pci_class
,pci_subclass
decoders with examples (#255, #274) - Added
kstack
decoder with an example (#313) - Added
unix-socket-backlog
example (#284) - Added
softirq-latency
example (#300, #304) - Added
softirq-latency-net-rx
example that's an array based version ofsoftirq-latency
(#310) - Added
cfs-throttling
example (#311) - Added
tcp-retransmit
example (#318, #335)
Changes to examples:
- Added
jsonschema
for examples and cleaned up unused keys (#314) - Added
exp2zero
histogram type for cases when 0 is a significant outcome and addedtcp-syn-backlog-exp2zero
example (#280) - Fixed
uint
decoder for very large numbers (#296) - Removed copy-pasted division by 50 in
tcp-syn-backlog-exp2zero
example (#301) - Added
increment_exp2zero_histogram
helper macro for examples (#302) - Added
{increment_map,increment_{exp2,ex2zero}_histogram}_nosync
helper macros (#303, #305) - Fixed
tcp-syn-backlog
example with linear histogram (#306) - Added example rebuild if any of the headers change (#307)
- Simplified header includes in examples (#312)
- Fixed
shrinklat
example failure due to wrongly sized key (#319) - Suppressed BTF warning in the
shrinklat
example due to type mismatch (#327) - Fixed
biolatency
kernel version check after an upstream LTS backport (#309)
Build changes:
- Bumped Go to 1.20 and dependencies to latest (#249, #258, #281, #282, #283, #289, #317, #333, #334)
- Added
build-dynamic
andbuild-static
make goals (#241) - Expanded linting from
golangci-lint
and fixed uncovered issues (#256, #259, #269, #270) - Added configuration loading checks for existing configs to CI (#322, #326)
- Added export of built examples in CI jobs to attach them to releases (#308, #325)
- Suppressed errors when building outside of a git repo (#242)
- Added checks for
libbpf
version on startup to prevent runtime errors (#247) - Clarified
libbpf
instructions (#262) - Started running tests with
-race
if available (#267) - Added checks that produced binaries work in CI (#268)
- Switched from
dbhi/qus/action
to more officialdocker/setup-qemu-action
for CI builds (#272) - Split Docker image into multiple variants:
ebpf_exporter
andebpf_exporter_with_examples
(#273) - Optimized
libbpf
dependencies in CI (#275) - Added clang-format output diff to CI failures (#328)
Other changes:
- Styling and typo fixes (#252, #276, #329)
- Added map value size validation to startup config checks (#257, #321, #322)
- Added
linguist
ignores forvmlinux.h
files that were screwing language stats (#248) - Added
.dockerignore
forlibbpf
and built examples (#298) - Removed unused
perf_event
from config definitions (#315) - Added support for external BTF information (#320, #323)
- Added a uprobe benchmark (it's slow!) (#331)