Interesting New Set of Network/Socket Tracepoints #3574
Replies: 2 comments 1 reply
-
Yep, those are great but, unfortunately, only available from 6.3 and on =(. Either way, with the same concept/idea:
We have solved this issue already. For us, all the sockets (no matter if they are in the SoftIRQ phase during ingress) are tied to a process, and we can keep track of any flow in our eBPF code. So it is pretty easy for us to provide details of communications to any process in the OS. Examples of that could be "amount of bytes transferred per socket, or per process", "average bytes/sec per socket, or per process, or per src/dst pairs". My only problem is, we are driven by security needs. This looks like a network metric more than a specific need for security purposes. But, yes, this type of information might be useful to have tracked in the process tree, for sure. @roikol any thoughts ? Have you even seen a need for such metrics ? |
Beta Was this translation helpful? Give feedback.
-
The only metrics we might not be able to get is "pkts/sec". That is because our network code relies in cgroup/skb programs. They get the packets already close to the program (we're not dealing with Layer 2 on purpose, so we don't have to attach a program to every existing (or created) network device), so some of the sk_bufs were already merged. Maybe I can get that info but not sure. |
Beta Was this translation helpful? Give feedback.
-
I noticed there are a couple new tracepoints for the send and recv designed to help easily tie flows to particular processes. They might eventually be worth loading when the process tree related features are desired.
Upstream commit: torvalds/linux@6e6eda4
perf trace -e sock:sock_send_length,sock:sock_recv_length
Beta Was this translation helpful? Give feedback.
All reactions