views:

733

answers:

1

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.

+1  A: 

Try to look at SystemTap. It is very similar to Solaris DTrace and you can get to a different levels of detail.

Dmitry Khalatov
Thank you for that link! I have been waiting for a stable port of dtrace for Linux, but nobody has quite managed it yet.
Tim Post