OK... that's actually quite a wide brief - many of these things (like network traffic) have tools to monitor them already. There are also logs. So what you are looking for is probably not usefully served by sched.h stuff.
Monitoring stack useage of a running process is tricky.
http://forums11.itrc.hp.com/service/...readId=1184297
vmstat(8) is used to monitor virtual memory. etc.
But your request is too general to provide decent answers. Identify the resources you want to track in your program, then you will be able to find how those resources are normally tracked. You program will collect and parse the information already available.