The Logging package is able to set up per process logs. I have been planning to write a per-logged-in-user logging facility as an add on for for seaside.
Logging has facilities for timeing things, and the time stamps in 3.10.2 have millisecond resolution. I also have some ruby code somewhere which can trawl through logs, and generate data for plotting graphs.
Its not as clever as proper profiling, but its a potential option.
Keith