Description of problem:
Ideally, the 'n' switch of PCP atop should show the process-wise network bandwidth usage. As per the man page, PCP needs netatop named kernel module but this module is not well maintained and quite old so does not fit with current kernel (RHEL-8). Also, netatop is not maintained and supported by Red Hat so we can not really recommend customers to use it on the production system.
It has been said that it is possible for atop to read the 'ebpf' metrics and show the process-wise network bandwidth usage but this feature has to be added in PCP-atop.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. #pcp atop
2. use interactive command 'n'
It will not show the process-wise network bandwidth usage
PCP atop should show the process level network bandwidth usage.
Assigning to Andreas for research into the possibility of replacing netatop with eBPF code...
Thank you Andreas++. Let me know if anything is required my end.
bandwidth metrics are include in pcp-5.2.3 and working, however the 'number of packets' metric is difficult to gather and needs an adjustment
Decided to use the number of kernel calls instead of the number of packets, because
* number of packets might be inaccurate due to TCP segmentation offload
* there is less overhead with the current eBPF kprobes vs. tracing at the packet level (additionally to the kprobe, because we need the PID)
and documented the change in the pcp-atop manpage.
Work completed in upstream commit:
commit 02f4c642a7ef4ffc222ed661da7e320c9822a5ec (HEAD -> master, upstream/maste>
Author: Andreas Gerstmayr <email@example.com>
Date: Wed Jan 27 17:18:42 2021 +0100
pmdabcc: netproc module: count kernel calls, not packets
* count kernel calls, not packets
* rename metrics accordingly
* use a LRU hash for netstats (to recycle old bucket entries)
* rework qa/1286: use custom socket tool and check exact numbers
* update pcp-atop man page