I have a mechanism for generating profile data of a couple of different types. Are there any tools that will import profile data from external sources and produce useful interactive visualizations? It seems like there are many profiling tools out there that all implement their own rendering engines, but there really isn't much difference between the raw data that is driving them.
So far, I just mimicked gprof's text output, which is more useful than people give it credit for. But that isn't saying much.
Examples: xperf for Windows, Shark for Mac (though I haven't used it), SpeedTracer for Google Chrome, oprofileui, and many others.
gprof2dot is an example of what I'm looking for, in that it accepts output from multiple profile data generators, but (1) I don't find its output terribly useful, especially on large profiles; and (2) optimally, I would like an interactive web-based UI.
Better yet, is there a standard format for profile data that I can use to feed multiple tools?
To start with, I have basic dynamic callgraph data with wallclock timings and call counts, but I would also like to substitute CPU counters, cache miss counts, page fault counts, etc. for the timing information. I would also like to mix together profile data from multiple sources (eg separate profile data from C++ and script profiling tools, related via timestamps or explicit markers.)
Update: I looked a bit further into SpeedTracer. It defines an import/export format for its data. So if nothing else, I can serialize into that format and load my data into SpeedTracer. I'm not crazy about being bonded to Chrome and GWT, but it's a good start.