Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Network Viewer integrated with eBPF #17073

Open
wants to merge 103 commits into
base: master
Choose a base branch
from

Conversation

thiagoftsm
Copy link
Contributor

@thiagoftsm thiagoftsm commented Feb 27, 2024

Summary

Fixes #16986 (partially)

More details when PR is ready

Test Plan
  1. Compile branch and run netdata. The plugin network-viwer should run normally using /proc files.
    default

  2. Stop netdata;

  3. Edit netdata.conf and append to collect using eBPF and managing the collection level:

[plugin:network-viewer]
        # update every = 1
        command options = ebpf apps-level 1
  1. Start netdata again, this time you will have plugin running using eBPF software.

without_usepid

It is also possible to collect with eBPF showing all task ids, but this could create a chart unreadable and a break of pattern with our proc collection. To visualize this, change step 3 for:

[plugin:network-viewer]
        # update every = 1
        command options = ebpf apps-level 1 use-pid

usepid

Additional Information

This PR was tested on:

Distribution Hardware Kernel
Slackware Current Bare metal 6.6.21
Arch Linux Libvirt 6.7
Debian 12 Proxmox 6.1
Ubuntu 22.04 Libvirt 5.15.0-76-generic
For users: How does this change affect me?

@thiagoftsm thiagoftsm marked this pull request as draft February 27, 2024 12:52
@github-actions github-actions bot added area/packaging Packaging and operating systems support area/docs area/collectors Everything related to data collection collectors/ebpf labels Feb 27, 2024
@Ferroin
Copy link
Member

Ferroin commented Feb 29, 2024

Mentioning this here as discussed in the sync:

Because the changes to the network viewer plugin involve new dependencies on code from the kernel-collector and ebpf CO-RE repos, changes in the packaging code will probably be required to ensure that the required eBPF programs are installed independent of whether the user as asked for the eBPF plugin or not.

In the interest of simplifying that, it would be appreciated if we could ensure that either the programs used by the network-viewer all have a consistent pattern to their name that is different from what is used for the programs used for the existing eBPF plugin, or better yet that they be handled in a separate sub-directory.

@ilyam8
Copy link
Member

ilyam8 commented Feb 29, 2024

@Ferroin as an initial step, I suggest confirming that this ebpf integration works and is worth using. And only after get busy with packaging. Because I doubt it (at least this initial version (this PR) not tested by anybody) - prev ebpf network function in my opinion is 100% useless.

@thiagoftsm thiagoftsm force-pushed the nv_ebpf branch 7 times, most recently from b220c32 to 831c6e6 Compare March 8, 2024 18:52
@thiagoftsm thiagoftsm force-pushed the nv_ebpf branch 2 times, most recently from 8bd0205 to cb0968e Compare March 11, 2024 14:39
@thiagoftsm thiagoftsm marked this pull request as ready for review March 12, 2024 03:53
thiagoftsm and others added 29 commits May 10, 2024 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/collectors Everything related to data collection area/docs collectors/ebpf
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: incorrect documentation about ebpf plugin configuration
6 participants