netdata / kernel-collector

Linux Kernel eBPF Collectors
61 stars 15 forks source link

VFS functions #348

Closed thiagoftsm closed 1 year ago

thiagoftsm commented 1 year ago
Summary

We are staring with this PR a new cycle to bring a new eBPF function for netdata, this time the focus is VFS that is also a function that consumes a lot of resources from host.

Test Plan
  1. Get binaries according your LIBC from this link and extract them inside a directory, for example: ../artifacts. You can also get everything for glibc [here](UPLOAD FILE WITH ALL BINARIES TO SIMPLIFY REVIEWERS).

  2. Extract them running:

    $ for i in `ls *.zip`; do unzip $i; rm .gitkeep ; rm $i; done
    $ for i in `ls *.xz`; do tar -xf $i; rm $i* ; done
  3. Compile branch an run the following tests:

    # make clean; make tester
    # for i in `seq 0 3`; do ./kernel/legacy_test --netdata-path ../artifacts --content --vfs --iteration 1 --pid $i --log-path file_pid$i.txt; done
  4. Every test should ends with Success, unless you do not have a specific target (function) available.

Additional information

This PR was tested on:

Linux Distribution Environment Kernel Version Real Parent Parent All PIDs Without PIDs
Slackware current Bare metal 6.1.52 slackware_6_1_0.txt slackware_6_1_1.txt slackware_6_1_3.txt slackware_6_1_2.txt
Arch Linux Libvirt 6.5.2-arch1-1 arch_6_5_pid0.txt arch_6_5_pid1.txt arch_6_5_pid2.txt arch_6_5_pid3.txt
Oracle 9 Libvirt 5.14.0-284.25.1.0.1.el9_2.x86_64 oracle_5_14_pid0.txt oracle_5_14_pid1.txt oracle_5_14_pid2.txt oracle_5_14_pid3.txt
Debian 11 libvirt 5.10.191-1 debian_5_10_pid0.txt debian_5_10_pid1.txt debian_5_10_pid2.txt debian_5_10_pid3.txt
Ubuntu 20.04 Libvirt 5.4.0-146-generic ubuntu_5_4_pid0.txt ubuntu_5_4_pid1.txt ubuntu_5_4_pid2.txt ubuntu_5_4_pid3.txt
Alma 8 Libvirt 4.18.0-477.21.1.el8_8.x86_64 alma_4_18_pid0.txt alma_4_18_pid1.txt alma_4_18_pid2.txt alma_4_18_pid3.txt
Ubuntu 18.04 Libvirt 4.15.0-208-generic ubuntu_4_15_pid0.txt ubuntu_4_15_pid1.txt ubuntu_4_15_pid2.txt ubuntu_4_15_pid3.txt
Slackware current Qemu 4.14.290 slackware_4_14_pid0.txt slackware_4_14_pid1.txt slackware_4_14_pid2.txt slackware_4_14_pid3.txt
CentOS 7.9 Libvirt 3.10.0-1160.92.1.el7.x86_64 centos_3_10_pid0.txt centos_3_10_pid1.txt centos_3_10_pid2.txt centos_3_10_pid3.txt