Is there a tool somewhere that lets me monitor a single process? Something I'd run, passing it a PID and which would display a regularly refreshed status of what the process is doing: MB/s read from the filesystem, MB/s written to the filesystem, maybe even with more detail (actual file name(s) accessed maybe summarized as directories if there are too many), same thing for the network, amount of CPU being used, ideally even some indication of "where" that CPU time is spent (e.g. among the mmaped files containing code, which one contains the code where we're spending most of the time?). Also, percentage of time spent waiting (and if so, waiting for what kind of resource, ...)?
`strace` gives enough data to compute at least part of the above info, so it seems doable, but I haven't seen any reference to such a tool pass by my desk over the years. What am I missing? Stefan