netdata / kernel-collector

Linux Kernel eBPF Collectors
61 stars 15 forks source link

Speed socket #346

Closed thiagoftsm closed 1 year ago

thiagoftsm commented 1 year ago
Summary

After a talk with product team and to have a more clear picture about what we are going to deliver, we are creating this PR that will reduce I/O events in kernel ring.

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.

  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 --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.46 slackware_6_1_pid0.txt slackware_6_1_pid1.txt slackware_6_1_pid2.txt slackware_6_1_pid3.txt
Arch Linux Libvirt 6.4.11-arch2-1 arch_6_4_pid0.txt arch_6_4_pid1.txt arch_6_4_pid2.txt arch_6_4_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 centos_3_10_pid0.txt centos_3_10_pid1.txt centos_3_10_pid2.txt centos_3_10_pid3.txt