I'm working on a monitoring agent that works with systems using the Linux kernel. By opening /proc/stat , you can easily tell how much time one one or all CPUs (aggregate) is burning waiting for I/O requests to complete.
I'm trying to find a way to break that number down so that I can differentiate between disk and network i/o. For instance, after converting the unit out of kernel ticks to seconds, you see that all CPU's combined have spent 1024 seconds waiting for I/O. I'd like to know how many of those were burned due to slow network connections.
I'm not sure if this is even possible, any help is appreciated :) I don't see anything in /proc/net or sysfs that would help.