Atoptool / atop

System and process monitor for Linux
GNU General Public License v2.0
789 stars 110 forks source link

Collect netns #240

Open ShirleyFei opened 1 year ago

ShirleyFei commented 1 year ago

The network devices, like eth2, are settled in another network namespace via ip netns add in some scenarios in the production environment. In this case, we have to switch to that new netns to get network related statistics, e.g. reading from /proc/net/dev, /proc/net/snmp, /proc/net/snmp6.

Add a 'netns' indicator to indicate which netns the network is belong to. And collect statistics for other netns by using setns to switch to another netns to read /proc files, and then use shared memory for parent-child IPC.

Combined with actual needs and performance considerations, this patch only collects other netns's physical network devices stats. Virtual devices are ignored except the 'lo'.

To pass the compiling, also update for atopsar, parsable and json.

Also format some lines according to astyle.