I've been using Python's built-in cProfile tool with some pretty good success.  But I'd like to be able to access more information such as how long I'm waiting for I/O (and what kind of I/O I'm waiting on) or how many cache misses I have.  Are there any Linux tools to help with this beyond your basic time command?
I'm not sure if python will provide the low level information you are looking for.  You might want to look at oprofile and latencytop though.
What profiling tools exist for Python on Linux beyond the ones included in the standard library?