Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1405 commits
Select commit Hold shift + click to select a range
5bbcfb1
Merge pull request #4007 from Rtoax/patch-13
davemarchevsky May 24, 2022
312a40d
libbpf-tools: fix kernel version checks
cobrien7 Mar 23, 2022
6da721e
Remove extra whitespace at the end of a line.
Rtoax May 25, 2022
925b411
Merge pull request #4013 from Rtoax/patch-14-hex
davemarchevsky May 25, 2022
29f2d1e
Merge pull request #4012 from cobrien7/fix-version-check
davemarchevsky May 25, 2022
12333c2
tools/exitsnoop: Remove ctypes cast operation
xingfeng2510 May 26, 2022
494806a
Remove __attribute__((packed)) of struct data_t
xingfeng2510 May 26, 2022
f680093
libbpf-tools/execsnoop: fixup: drop unused define
smalinux May 29, 2022
b2b8a1f
Add Ubuntu 22.04 package dependency guide
paranlee May 30, 2022
7e61f1a
Merge pull request #4018 from smalinux/fixup
davemarchevsky May 31, 2022
c85ce50
Merge pull request #4024 from paranlee/paranlee-add-ubuntu-2204-insta…
davemarchevsky May 31, 2022
9d06ced
tools/tcplife: Remove dead code
chenhengqi Jun 2, 2022
02f0f5a
Merge pull request #4032 from chenhengqi/cleanup-tcplife
davemarchevsky Jun 2, 2022
42a84ed
Fixed 'getElementType() is deprecated' compile warning.
Rtoax May 29, 2022
65efffe
tools/exitsnoop: Use task->real_parent instead of task->parent (#4025)
xingfeng2510 Jun 3, 2022
ae680db
tools/biolatency: Add disk filter support (#4026)
xingfeng2510 Jun 3, 2022
aad64e4
docs: Add missing entries for CGROUP_SOCK_ADDR family
chenhengqi Jun 2, 2022
9541c9c
sync with laest libbpf repo
yonghong-song Jun 3, 2022
730ced2
libbpf-tools: add support for cross compilation
May 13, 2022
67b8cfb
libbpf-tools/klockstat: Flush stdout after print_stats()
namhyung May 11, 2022
bfccfe6
libbpf-tools/klockstat: Print human friendly time stats
namhyung May 11, 2022
5e3d41e
libbpf-tools/klockstat: Add --per-thread/-P option
namhyung May 11, 2022
a41fc45
libbpf-tools: Add tcplife
chenhengqi Jun 2, 2022
bba7358
Add slabratetop libbpf-tools.
Rtoax Jan 7, 2022
a184f09
libbpf-tools: Fix bio tools
chenhengqi Jun 10, 2022
70e8a9b
Merge pull request #3919 from terceiro/python-bpf-close
davemarchevsky Jun 13, 2022
45f5df4
libbpf-tools: Remove map flag BPF_F_NO_PREALLOC
chenhengqi Jun 10, 2022
8e608ed
Remove executable permissions and extra spaces for "funcinterval.8".
Rtoax Jun 14, 2022
e345542
Merge pull request #4049 from Rtoax/patch-17-funcinterval.8-x
davemarchevsky Jun 14, 2022
16eab39
Add tracepoint:skb:kfree_skb if no tcp_drop() kprobe.
Rtoax Jun 15, 2022
1c0808d
Fix: Failed to load BPF program b'trace_read_return': Permission denied
Rtoax Jun 15, 2022
37c3f97
libbpf-tools: fix tcpconnect build errors
aspsk Jun 15, 2022
e16b628
Add more hints for error kprobe.
Rtoax Jun 17, 2022
dbb7b83
Merge pull request #4055 from Rtoax/patch-21-warn-inlined
davemarchevsky Jun 17, 2022
e84e46f
sync with latest libbpf repo
chantra Jun 20, 2022
1900809
backport `struct bpf_create_map_attr`
chantra Jun 20, 2022
10e3cd4
tools/syscount: Beautify output of syscall list
xingfeng2510 Jun 21, 2022
13b5563
Merge pull request #4062 from chantra/remove_bpf_create_map
davemarchevsky Jun 21, 2022
a409bf5
Merge pull request #4050 from Rtoax/patch-18-tcpdrop-reason
davemarchevsky Jun 24, 2022
21e18d1
Merge pull request #4063 from xingfeng2510/enhance
davemarchevsky Jun 24, 2022
9627312
Merge pull request #3691 from chenhengqi/add-mdflush
davemarchevsky Jun 24, 2022
eb837bc
tools/llcstat: Add TID info support
yezhengmao1 Jun 20, 2022
0f46539
Merge pull request #4060 from yezhem/master
davemarchevsky Jun 24, 2022
5657c7d
Merge pull request #4031 from chenhengqi/add-tcplife
davemarchevsky Jun 24, 2022
80b1e77
libbpf-tools: fix fentry_try_attach bug
Jun 23, 2022
77615d4
tools/profile: decode bytes to str
asd142513 Jun 23, 2022
c0995ce
libbpf-tools: Fix syscount
chenhengqi Jun 21, 2022
118bf16
libbpf-tools: Fix tcpconnect
chenhengqi Jun 21, 2022
df8d58a
libbpf-tools: Allow tcpconnlat to run on old kernels
chenhengqi Jun 21, 2022
c3c99a9
libbpf-tools: Allow filelife to run on kernels without CONIFG_SECURITY
chenhengqi Jun 21, 2022
f1b769b
tools/biosnoop: Add disk filter support
xingfeng2510 Jun 21, 2022
fb14766
tools/biosnoop: Remove unused import re
xingfeng2510 Jun 21, 2022
b2af01e
libbpf-tools: Fix biopattern with recent tracepoint change
chenhengqi Jun 27, 2022
d81e56c
tools/stackcount: remove b''
yezhengmao1 Jun 21, 2022
5370855
Add pin support for xsk map (#4061)
Y7n05h Jul 3, 2022
4b3cbf4
bcc/syms: Fix shared lib module offset <-> global addr conversion
davemarchevsky Jun 30, 2022
c54336e
Merge pull request #4089 from davemarchevsky/davemarchevsky_fix_so
davemarchevsky Jul 5, 2022
741ba58
[cmake] Add a definition to enable clang sanitizers.
chantra Jul 5, 2022
9c043a2
[cc] Fix memory leak in BPFModule::finalize()
chantra Jul 5, 2022
185143b
[bcc] stop using deprecated `bpf_load_program_attr`
chantra Jul 5, 2022
e96571e
Merge pull request #4093 from chantra/fix_bpf_load_program_attr
davemarchevsky Jul 6, 2022
fbc1540
Merge pull request #3797 from Rtoax/patch-8
davemarchevsky Jul 7, 2022
984d24c
tests/python: @mayFail offcputime in py_smoke_tests
davemarchevsky Jul 7, 2022
d7dcbb5
Merge pull request #4097 from davemarchevsky/davemarchevsky_fix_test
davemarchevsky Jul 8, 2022
ea3c885
tools: fix typos
asd142513 Jul 8, 2022
f0dee60
tools: fix minor bugs
asd142513 Jul 8, 2022
ba0af23
Merge pull request #4086 from asd142513/typo
davemarchevsky Jul 8, 2022
d21c85e
[py] Add support for CGROUP_SOCKOPT program type
chantra Jul 8, 2022
8c5babf
Merge pull request #4098 from chantra/bcc_py_sockopt
davemarchevsky Jul 9, 2022
8c746a6
sync libbpf
chantra Jul 6, 2022
6a29236
bcc: Fix tracepoint struct generation
chenhengqi Jul 7, 2022
b5c78af
Add support and doc for new helpers from libbpf repo
yonghong-song Jul 11, 2022
7b1803c
libbpf-tools: Make tools independent of vmlinux.h
chenhengqi Jul 4, 2022
6409ff8
libbpf-tools: Bump x86 vmlinux.h to v5.18
chenhengqi Jul 4, 2022
a7fb5d6
libbpf-tools: Add RISC-V support
chenhengqi Jul 4, 2022
ca03af7
riscv: initial ebpf support (#4085)
xmzzz Jul 11, 2022
4ce27d4
libbpf-tools: fix ksnoop panic
chendotjs Jul 12, 2022
74ba1d1
Merge pull request #4088 from chenhengqi/add-riscv-support-for-libbpf…
davemarchevsky Jul 12, 2022
798a105
libbpf-tools: Add tcptracer
mauriciovasquezbernal Jun 6, 2022
dd530d0
docs:add install guide for wsl users
aseaday Jul 15, 2022
6c4080f
docs: add fullname of wsl for search
aseaday Jul 16, 2022
9a5a22b
Merge pull request #4108 from aseaday/doc-add-install-guide-for-WSL-u…
davemarchevsky Jul 16, 2022
29c6449
tools/runqslower.py: remove unused global variable rq.
linuszeng Jul 19, 2022
6703af1
tools/runqlat.py: remove unused global variable rq.
linuszeng Jul 20, 2022
d109d58
Merge pull request #4119 from linuszeng/runqslow
davemarchevsky Jul 20, 2022
83a379e
[bcc] Add macros to check libbcc version
chantra Jul 5, 2022
ee216fd
riscv:fix user_regs_struct macro issue
xmzzz Jul 18, 2022
8397d00
Fix warning: passing argument 4 of ‘btf_dump__new’ from incompatible …
Rtoax Jul 18, 2022
e9c5931
riscv: using bpf_probe_read_{kernel|user} on riscv64
xmzzz Jul 19, 2022
dca2d00
libbpf-tools: add sigsnoop
chenhengqi Aug 8, 2021
cb23ebb
bcc: Add basic and usdt support for LoongArch
seehearfeel Jul 19, 2022
4c2d123
libbpf-tools: tcpconnect: take source port into consideration
aspsk Jul 28, 2022
4a8b593
tools/profile: add multi process/thread support, like perf convention
yezhengmao1 Jul 12, 2022
4902819
Update biosnoop.py (#4124)
WuXianChangKuang Jul 29, 2022
300fc6a
[test] Fix wrapper script to allow testing individual tests (#4126)
chantra Jul 29, 2022
4a60443
tools/cpudist: Add extension summary support (#4131)
xingfeng2510 Jul 29, 2022
8528919
tools/syscount: Add syscall filter support (#4132)
xingfeng2510 Jul 29, 2022
6616092
[lsan] Fix leaks detected by sanitier
chantra Jul 22, 2022
1fd6e19
sigsnoop: Get rid of SIGIOT
namhyung Jul 26, 2022
aacec93
tools/mdflush: include blkdev.h instead of genhd.h
jeromemarchand Aug 1, 2022
1bc837e
libbpf-tools: Build and use lightweight bootstrap version of bpftool
chenhengqi Aug 1, 2022
30ea527
Merge pull request #4143 from chenhengqi/bpftool-bootstrap
davemarchevsky Aug 1, 2022
58fe075
Merge pull request #4142 from jeromemarchand/mdflush-genhd
davemarchevsky Aug 1, 2022
f6c4b4c
Merge pull request #4135 from aspsk/aspsk/tcpconnect-add-an-option
davemarchevsky Aug 1, 2022
0e29f70
tools/biolatency: Simplify extension summary redundant logic (#4145)
xingfeng2510 Aug 4, 2022
1d68595
oomkill: Remove extra trailing newline from output
chenhengqi Aug 4, 2022
86bf109
tools/cpudist: Fix warning introduced by recent change
chenhengqi Aug 6, 2022
bd72584
libbpf-tools: Add javagc monitor
Jul 23, 2022
17c1ac3
Merge pull request #4149 from chenhengqi/fix-cpudist
davemarchevsky Aug 8, 2022
dda13ed
Merge pull request #4147 from chenhengqi/fix-oomkill-output
davemarchevsky Aug 8, 2022
408fb40
tools/syscount: Use lock_xadd to guarantee atomicity of addition oper…
xingfeng2510 Aug 9, 2022
c65e6c5
fix llvm15 compilation error
yonghong-song Aug 10, 2022
1c4e10b
fix a llvm compilation error with llvm16
yonghong-song Aug 10, 2022
5bf9b4d
Sync with latest libbpf repo
yonghong-song Aug 10, 2022
711f030
Update debian changelog for release v0.25.0
yonghong-song Aug 10, 2022
770a590
[test] Fix Wrapper script to properly handle arguments
chantra Aug 11, 2022
01053c4
[test_infra] Add systemtap devel header and ruby to fedora docker
davemarchevsky Aug 8, 2022
69f652e
Merge pull request #4151 from iovisor/davemarchevsky-test-fixes
davemarchevsky Aug 11, 2022
219c8fb
[test][sockhash/map] Fix the test to work with kernels >= 5.15
chantra Aug 11, 2022
fc46efd
Attempt to find kernel's linux/version.h for the running kernel
chantra Aug 12, 2022
042f8d4
Merge pull request #4164 from chantra/fix_sock_map_tests
davemarchevsky Aug 12, 2022
4a717c9
[test][usdt_probes][bionic] kill child manually
chantra Aug 11, 2022
fd473d7
[test] fix module search test
chantra Aug 12, 2022
b7e5638
Merge pull request #4163 from chantra/fix_unshare_killchild
davemarchevsky Aug 12, 2022
3130f0f
Merge pull request #4165 from chantra/fix_module_search_test
davemarchevsky Aug 12, 2022
f9aa1e7
Merge pull request #4162 from chantra/fix_test_wrapper_escaping
davemarchevsky Aug 12, 2022
08a26ed
test_bpf_table: Re-add deletion of 'bpf' module
davemarchevsky Aug 12, 2022
fa41a40
Merge pull request #4167 from davemarchevsky/davemarchevsky_fix_bpf_t…
davemarchevsky Aug 12, 2022
5cad4ab
[tests] fix python tests
chantra Aug 12, 2022
0885e91
Merge pull request #4169 from chantra/fix_python_tests
davemarchevsky Aug 13, 2022
be735b0
test_tools_smoke.py: mayFail test_offwaketime
davemarchevsky Aug 13, 2022
39f60c0
Merge pull request #4172 from davemarchevsky/davemarchevsky_offwaketi…
davemarchevsky Aug 13, 2022
1a3f8c2
tools/trace: Fix TypeError when format string contains %K or %U
xingfeng2510 Aug 13, 2022
6ebeb45
tools/execsnoop: Add PPID filter support
xingfeng2510 Aug 11, 2022
7a90c7b
Fix bpf_pseudo_fd() type conversion error
yonghong-song Aug 14, 2022
3f5e402
[test][bionic] Force python3 and utf-8 encoding
chantra Aug 14, 2022
86c4b3a
Revert "test_tools_smoke.py: mayFail test_offwaketime"
chantra Aug 14, 2022
b57dbb3
Merge pull request #4174 from chantra/bionic_py_3
davemarchevsky Aug 14, 2022
2efd2c0
GH Actions: Stop publishing to quay.io
davemarchevsky Aug 14, 2022
3e90aa4
Merge pull request #4177 from davemarchevsky/davemarchevsky_no_quay
davemarchevsky Aug 14, 2022
81d683d
[build] Move docker files used for build CI in their own directory
chantra Aug 15, 2022
23da237
[ci] new workflow to publish CI build containers
chantra Aug 15, 2022
dc3f138
[ci] Remove ruby build artifacts from docker images
chantra Aug 15, 2022
88ad9c8
[ci][docker] Change env varibable names so they are not bound to ubuntu
chantra Aug 16, 2022
68f76e7
[ci] Upgrade to ruby-installer 0.8.4 and ruby 3.1.2
chantra Aug 16, 2022
468d4fc
[ci][dcoker] Make Fedora version controlled by env variable
chantra Aug 16, 2022
e2266c6
[ci] Add support for Fedora 36 container
chantra Aug 16, 2022
66e72e4
Merge pull request #4179 from chantra/build_ci_containers
davemarchevsky Aug 16, 2022
623a229
DLPX-81527 Move bcc to python3
sumedhbala-delphix Aug 17, 2022
7aa2829
Merge pull request #11 from sumedhbala-delphix/6.0/stage
sumedhbala-delphix Aug 17, 2022
71e6e5d
fix arithmetic on a pointer to an incomplete type
juchem Aug 11, 2022
05f17a6
tools/trace: Decode bytes to str
xingfeng2510 Aug 14, 2022
b5cc98a
tools/trace: Remove explicit ctype cast
xingfeng2510 Aug 14, 2022
3fa02d4
[scripts] Update git-clang-format
chantra Aug 16, 2022
fd92eae
tools/memleak: fix print_outstanding_combined func, exception has occ…
yezhengmao1 Jul 25, 2022
99146aa
Add cmake TARGET: uninstall
Rtoax Aug 17, 2022
e49507f
[ci] make build CI use docker images from this repo registry
chantra Aug 15, 2022
272c89f
Merge pull request #4080 from chentao-kernel/master
davemarchevsky Aug 24, 2022
382a332
Merge pull request #4184 from Rtoax/patch-23-make-uninstall
davemarchevsky Aug 24, 2022
ac43959
Fix a llvm signed division error for compactsnoop tool
yonghong-song Aug 26, 2022
1c5693c
Fix some documentation issues (#4197)
jeromemarchand Aug 28, 2022
8ed0a15
update python developer tutorial (#4194)
lzh2nix Aug 28, 2022
76fb1e2
libbpf-tools: Update bpftool submodule
chenhengqi Aug 29, 2022
552d64e
Merge pull request #4202 from chenhengqi/update-bpftool
davemarchevsky Aug 30, 2022
5360496
[python][test] change traced syscall from clone to execve
chantra Aug 29, 2022
e56fdf8
[test][python] temptatively attach to blk_start_request probe.
chantra Aug 29, 2022
7f07581
[biosnoop] Revert #4124
chantra Aug 31, 2022
f2dcfc3
Merge pull request #4204 from chantra/test_percpu_fix_f36
davemarchevsky Aug 31, 2022
5bfe444
Merge pull request #4207 from chantra/test_fix_trace3
davemarchevsky Aug 31, 2022
187baf1
Merge pull request #4180 from chantra/use_ci_containers
davemarchevsky Aug 31, 2022
d060934
Show the stacktrace of the userspace in opensnoop.
Aug 16, 2022
aa1f7cb
extract kheaders to $TMPDIR directory
michalgr Sep 2, 2022
dcd8a9a
Use /sys/kernel/tracing when debugfs is not available (#4216)
michalgr Sep 6, 2022
4aa1b65
[ci] Install netperf and iperf
chantra Sep 1, 2022
0326c76
[actions] Trigger publish-build-containers workflow on PR without pus…
chantra Sep 1, 2022
efee317
[ci] Enable running CI on Fedora 36
chantra Aug 31, 2022
3438ec3
[test][python] Clear deprecation warnings
chantra Aug 29, 2022
c110a4d
tools/opensnoop: Allow to show full path for an open file with relati…
xingfeng2510 Aug 22, 2022
23f16da
libbpf-tools/klockstat: print the lock info for max acq/hold times
bobrik Aug 17, 2022
857cf50
libbpf-tools/klockstat: accept lock addr as well as lock name
bobrik Aug 17, 2022
5acd0b5
Merge pull request #4186 from ThinkerYzu1/blazesym_use
davemarchevsky Sep 6, 2022
a643556
tools/opensnoop: Allow to set size of the perf ring buffer (#4219)
xingfeng2510 Sep 7, 2022
3712051
Revert libbpf submodule to latest intentional change
davemarchevsky Sep 7, 2022
5f44839
Merge pull request #4224 from davemarchevsky/davemarchevsky_submodule…
davemarchevsky Sep 7, 2022
b7ea45d
Check whether cargo exists and disable the blazesym feature. (#4227)
Rtoax Sep 8, 2022
6129eef
libbpf-tools: Allow runq tools to run on old kernels
chenhengqi Sep 6, 2022
83cf8b1
[actions] Refactor building and pushing docker containers
chantra Sep 6, 2022
75e5e26
[actions] Build docker container when Dockerfile are modified
chantra Sep 6, 2022
0393eba
[docker] Fix tabs in Dockerfile.fedora
chantra Sep 6, 2022
c30c418
Merge pull request #4221 from chantra/conditionally_rebuild
davemarchevsky Sep 9, 2022
a92c2bd
Fix libbpf-tools/sigsnoop segment fault (#4228)
Rtoax Sep 9, 2022
ad4c8e3
libbpf-tools: convert wakeuptime tool
sterchelen Jul 23, 2022
442f420
[testing] add skipUnlessHasBinaries decorator
chantra Sep 1, 2022
bfc8252
[test][test_brb] Gate the test behind the new skipUnlessHasBinaries d…
chantra Sep 1, 2022
dfb0d98
libbpf-tools/klockstat: Fallback to kprobe if fentry is not available
chenhengqi Sep 9, 2022
3830425
Added bounded loop into the main bpf features list
yzhao1012 Sep 14, 2022
79bf978
libbpf-tools: Add tcptop tool.
eiffel-fl Mar 3, 2022
581476d
libbpf-tools: Add tcpstates
chenhengqi Dec 18, 2021
4f8454c
Fix the uid not defined issue
wenlxie Sep 19, 2022
ca5fd8e
libbpf-tools: Add biotop tool.
eiffel-fl Mar 3, 2022
8a35ac0
Fix padding field not initialized issue
ruicao93 Sep 19, 2022
1a89e0c
Missing a newline('\n')
Rtoax Sep 21, 2022
907b89c
bcc: Bump CMake minimum version to 2.8.12
chenhengqi Sep 30, 2022
f90126b
tools/biosnoop: Fix a typo
xingfeng2510 Sep 29, 2022
c2b9f6e
libbpf-tools: Allow hardirqs to run on old kernels
chenhengqi Sep 13, 2022
e85bd8f
libbpf-tools: Allow softirqs to run on old kernels
chenhengqi Sep 13, 2022
a8a0103
NULL check CallExpr.getCalleeDecl()
shunghsiyu Sep 13, 2022
fe8acc4
Edit WSL2 install instructions
Sep 21, 2022
465f292
tools/biopattern: improve the output of biopattern
xingfeng2510 Sep 30, 2022
536155a
libbpf-tools: Fix klockstat to finish with -R
namhyung Oct 5, 2022
12e5312
Fix ProcStat::is_stale for gone PIDs
lenticularis39 Oct 3, 2022
cc44177
Use absolute module file path when possible
lenticularis39 Oct 3, 2022
d5b6d24
tools: killsnoop: support target PID filter
pizhenwei Sep 27, 2022
8c6f846
tools: killsnoop: auto detect the length of PID/TPID column
pizhenwei Oct 8, 2022
40306f1
Sync with latest libbpf repo
yonghong-song Oct 8, 2022
15fccdb
fix undefined reference reallocarray
maliubiao Sep 16, 2022
2a35249
Revert "Use absolute module file path when possible"
chenhengqi Oct 11, 2022
f3fd665
libbpf-tools: Add feature probe for BPF ring buffer
chenhengqi Oct 2, 2022
7f394c6
libbpf-tools: Add support for bpf_ringbuf
chenhengqi Oct 2, 2022
8cd34c3
libbpf-tools: Introduce BPF ring buffer to mountsnoop
chenhengqi Oct 2, 2022
b26bf81
build: harden bcc-test.yml permissions
sashashura Sep 25, 2022
f8f41fa
build: harden publish.yml permissions
sashashura Sep 25, 2022
304692d
build: harden publish-build-containers.yml permissions
sashashura Sep 25, 2022
c83933d
tools/vfsstat: Add PID filter support
xingfeng2510 Oct 12, 2022
1fa246d
libbpf-tools: Enable biolatency on kernels without BPF trampoline
chenhengqi Oct 10, 2022
95566c9
tools/runqslower: fix '-P'&'-p PID' conflict
pizhenwei Oct 13, 2022
981a947
tools/biosnoop: Add support for displaying block I/O pattern
xingfeng2510 Oct 14, 2022
e4bb4f3
bcc: support building with external libbpf package and older uapi lin…
alan-maguire Oct 14, 2022
2057146
bcc: and generated compat/linux/bpf.h to .gitignore
alan-maguire Oct 14, 2022
05ea841
runqslower: create sufficiently large array table to avoid missing tasks
Oct 18, 2022
62a8d1d
add bpf_ringbuf support to oomkill example
krisztianfekete Oct 15, 2022
0a601b8
move timeout to compat header from mountsnoop.c
krisztianfekete Oct 20, 2022
e2eb15e
bcc/python: remove additional space
yangxingwu Oct 24, 2022
b96a6db
make warnings consistent by switching to fprintf everywhere
krisztianfekete Oct 25, 2022
1ad8f4b
Fix file names being empty (#4293)
nurdann Oct 27, 2022
6a5c573
libbpf-tools/offcputime: Add dso info and symbol offset to backtrace …
ekyooo Oct 21, 2022
7e4635b
libbpf-tools/gethostlatency: Extract libc.so path from /proc/self/maps
chenhengqi Oct 18, 2022
11ff46d
libbpf-tools: Use bpf_probe_read_kernel{,_str} instead
chenhengqi Oct 18, 2022
f561067
libbpf-tools/opensnoop: Disable BPF program if tracepoint not exists
chenhengqi Oct 19, 2022
54a02ce
libbpf-tools/statsnoop: Trace all stat syscall variants
chenhengqi Oct 19, 2022
8b5b0bb
Fix a llvm16 compilation error
yonghong-song Oct 27, 2022
dcb34dc
Fix clang 15 int to pointer conversion errors
jeromemarchand Oct 26, 2022
822e9a8
libbpf-tools/tcplife: fix filter by ports
mozillazg Oct 30, 2022
8c02729
Allow libdebuginfod to be excluded even if present
Oct 31, 2022
917b97b
tools: Introducing ppchcalls.py for hcall count/latency stats.
Sep 29, 2022
aee989c
libbpf: Allow kernel_struct_has_field to reach field in unnamed struc…
jeromemarchand May 19, 2022
d661f8a
Add missing examples files (#4312)
Gsantomaggio Nov 3, 2022
ab19641
wakeuptime: remove unused global var `exiting`
woodpenker Nov 6, 2022
a3cf2b6
offcputime: remove unused global var `exiting`
woodpenker Nov 6, 2022
c5f91cd
Merge remote-tracking branch 'upstream/master' into 6.0/stage
Nov 8, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Dockerfile*
build
.*.swp
docker/Dockerfile*
47 changes: 47 additions & 0 deletions .github/actions/build-container/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: "Build/Push container"
description: "Build a BCC CI container and push it when not a pull-request."

inputs:
os_distro:
description: "OS Disctribution. Ex: ubuntu"
required: true
os_version:
description: "Version of the OS. Ex: 20.04"
required: true
os_nick:
description: "Nickname of the OS. Ex: focal"
required: true
registry:
description: "Registry where to push images"
default: ghcr.io
password:
description: "Password used to log into the docker registry."
push:
description: "Whether or not to push the build image"
type: boolean
default: false

runs:
using: "composite"
steps:
# Login against registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ inputs.registry }}
if: ${{ inputs.push == 'true' && github.event_name != 'pull_request' }}

uses: docker/login-action@v2
with:
registry: ${{ inputs.registry }}
username: ${{ github.actor }}
password: ${{ inputs.password }}

- name: Build and push
uses: docker/build-push-action@v3
with:
push: ${{ inputs.push == 'true' && github.event_name != 'pull_request' }}
build-args: |
VERSION=${{ inputs.os_version }}
SHORTNAME=${{ inputs.os_nick }}
file: docker/build/Dockerfile.${{ inputs.os_distro }}
tags: ${{ inputs.registry }}/${{ github.repository }}:${{ inputs.os_distro }}-${{ inputs.os_version }}

54 changes: 54 additions & 0 deletions .github/disabled-workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Publish Build Artifacts

on:
push:
branches:
- master
pull_request:

permissions:
contents: read # to fetch code (actions/checkout)

jobs:
# Optionally publish container images to custom docker repository,
# guarded by presence of all required github secrets.
# GitHub secrets can be configured as follows:
# - DOCKER_IMAGE = docker.io/myorg/bcc
# - DOCKER_USERNAME = username
# - DOCKER_PASSWORD = password
publish_dockerhub:
name: Publish To Dockerhub
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v1

- name: Initialize workflow variables
id: vars
shell: bash
run: |
if [ -n "${DOCKER_IMAGE}" ] && \
[ -n "${DOCKER_USERNAME}" ] && \
[ -n "${DOCKER_PASSWORD}" ];then
echo "Custom docker credentials set, will push an image"
echo ::set-output name=DOCKER_PUBLISH::true
else
echo "Custom docker credentials not, skipping"
fi
env:
DOCKER_IMAGE: ${{ secrets.DOCKER_IMAGE }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

- name: Build container image and publish to registry
id: publish-registry
uses: elgohr/Publish-Docker-Github-Action@2.8
if: ${{ steps.vars.outputs.DOCKER_PUBLISH }}
with:
name: ${{ secrets.DOCKER_IMAGE }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
workdir: .
dockerfile: Dockerfile.ubuntu
snapshot: true
cache: ${{ github.event_name != 'schedule' }}
241 changes: 241 additions & 0 deletions .github/workflows/bcc-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
name: BCC Build and tests

on:
push:
branches:
- master
pull_request:

env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}

permissions:
contents: read # to fetch code (actions/checkout)
pull-requests: read # to read pull requests (dorny/paths-filter)

jobs:
test_bcc:
runs-on: ubuntu-20.04
strategy:
matrix:
os: [{distro: "ubuntu", version: "18.04", nick: bionic}, {distro: "ubuntu", version: "20.04", nick: focal}]
env:
- TYPE: Debug
PYTHON_TEST_LOGFILE: critical.log
RW_ENGINE_ENABLED: ON
- TYPE: Debug
PYTHON_TEST_LOGFILE: critical.log
RW_ENGINE_ENABLED: OFF
- TYPE: Release
PYTHON_TEST_LOGFILE: critical.log
RW_ENGINE_ENABLED: ON
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
docker:
- 'docker/build/**'
- name: System info
run: |
uname -a
ip addr
- name: Pull docker container
if: steps.changes.outputs.docker == 'false'
run: |
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }}
- name: Build docker container
if: steps.changes.outputs.docker == 'true'
uses: ./.github/actions/build-container
with:
os_distro: ${{ matrix.os.distro }}
os_version: ${{ matrix.os.version }}
os_nick: ${{ matrix.os.nick }}
- name: Tag docker container
run: |
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }} bcc-docker
- name: Run bcc build
env: ${{ matrix.env }}
run: |
/bin/bash -c \
"docker run --privileged \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v /usr/include/linux:/usr/include/linux:ro \
bcc-docker \
/bin/bash -c \
'mkdir -p /bcc/build && cd /bcc/build && \
cmake -DCMAKE_BUILD_TYPE=${TYPE} -DENABLE_LLVM_NATIVECODEGEN=${RW_ENGINE_ENABLED} .. && make -j9'"
- name: Run bcc's cc tests
env: ${{ matrix.env }}
# tests are wrapped with `script` as a hack to get a TTY as github actions doesn't provide this
# see https://github.com/actions/runner/issues/241
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'/bcc/build/tests/wrapper.sh \
c_test_all sudo /bcc/build/tests/cc/test_libbcc'"

- name: Run all tests
env: ${{ matrix.env }}
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'cd /bcc/build && \
make test PYTHON_TEST_LOGFILE=$PYTHON_TEST_LOGFILE ARGS=-V'"

- name: Check critical tests
env: ${{ matrix.env }}
run: |
critical_count=$(grep @mayFail tests/python/critical.log | wc -l)
echo "There were $critical_count critical tests skipped with @mayFail:"
grep -A2 @mayFail tests/python/critical.log

- uses: actions/upload-artifact@v1
with:
name: critical-tests-${{ matrix.env['TYPE'] }}-${{ matrix.os.version }}
path: tests/python/critical.log

test_bcc_fedora:
runs-on: ubuntu-20.04
strategy:
matrix:
os: [{distro: "fedora", version: "34", nick: "f34"}, {distro: "fedora", version: "36", nick: "f36"}]
env:
- TYPE: Debug
PYTHON_TEST_LOGFILE: critical.log
- TYPE: Release
PYTHON_TEST_LOGFILE: critical.log
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
docker:
- 'docker/build/**'
- name: System info
run: |
uname -a
ip addr
- name: Pull docker container
if: steps.changes.outputs.docker == 'false'
run: |
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }}
- name: Build docker container
if: steps.changes.outputs.docker == 'true'
uses: ./.github/actions/build-container
with:
os_distro: ${{ matrix.os.distro }}
os_version: ${{ matrix.os.version }}
os_nick: ${{ matrix.os.nick }}
- name: Tag docker container
run: |
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.os.distro }}-${{ matrix.os.version }} bcc-docker
- name: Run bcc build
env: ${{ matrix.env }}
run: |
/bin/bash -c \
"docker run --privileged \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v /usr/include/linux:/usr/include/linux:ro \
bcc-docker \
/bin/bash -c \
'mkdir -p /bcc/build && cd /bcc/build && \
cmake -DCMAKE_BUILD_TYPE=${TYPE} -DENABLE_LLVM_SHARED=ON -DRUN_LUA_TESTS=OFF .. && make -j9'"
- name: Run libbpf-tools build
env: ${{ matrix.env }}
run: |
/bin/bash -c \
"docker run --privileged \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v /usr/include/linux:/usr/include/linux:ro \
bcc-docker \
/bin/bash -c \
'cd /bcc/libbpf-tools && make -j9'"

- name: Run bcc's cc tests
env: ${{ matrix.env }}
# tests are wrapped with `script` as a hack to get a TTY as github actions doesn't provide this
# see https://github.com/actions/runner/issues/241
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'/bcc/build/tests/wrapper.sh \
c_test_all sudo /bcc/build/tests/cc/test_libbcc'"

- name: Run all tests
env: ${{ matrix.env }}
run: |
script -e -c /bin/bash -c \
"docker run -ti \
--privileged \
--network=host \
--pid=host \
-v $(pwd):/bcc \
-v /sys/kernel/debug:/sys/kernel/debug:rw \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-e CTEST_OUTPUT_ON_FAILURE=1 \
bcc-docker \
/bin/bash -c \
'cd /bcc/build && \
make test PYTHON_TEST_LOGFILE=$PYTHON_TEST_LOGFILE ARGS=-V'"

- name: Check critical tests
env: ${{ matrix.env }}
run: |
critical_count=$(grep @mayFail tests/python/critical.log | wc -l)
echo "There were $critical_count critical tests skipped with @mayFail:"
grep -A2 @mayFail tests/python/critical.log


# To debug weird issues, you can add this step to be able to SSH to the test environment
# https://github.com/marketplace/actions/debugging-with-tmate
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v1
44 changes: 44 additions & 0 deletions .github/workflows/publish-build-containers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Publish Build Containers

on:
# We want to update this image regularly and when updating master
schedule:
- cron: '00 18 * * *'
push:
branches:
- master
pull_request:
paths:
- 'docker/build/**'

permissions: {}

jobs:

publish_ghcr:
permissions:
contents: read # to fetch code (actions/checkout)
packages: write # to push container
name: Publish To GitHub Container Registry
runs-on: ubuntu-latest
strategy:
matrix:
os: [
{distro: "ubuntu", version: "18.04", nick: bionic},
{distro: "ubuntu", version: "20.04", nick: focal},
{distro: "fedora", version: "34", nick: "f34"},
{distro: "fedora", version: "36", nick: "f36"}
]

steps:

- uses: actions/checkout@v2

- name: Build and push
uses: ./.github/actions/build-container
with:
os_distro: ${{ matrix.os.distro }}
os_version: ${{ matrix.os.version }}
os_nick: ${{ matrix.os.nick }}
password: ${{ secrets.GITHUB_TOKEN }}
push: true
Loading