&gt; we need something that does more than just show aggregates, like a sampling profiler would.<p>This isn&#x27;t really a limitation of sampling profilers. This is really a limitation of the front-end nearly every sampling profiler stick their data into. Basically they just aggregate sampling data and stop there.<p>For the gecko platform we use a sampling profiler but we&#x27;re able to correlate samples with unresponsiveness events. For instance you might have only 0.3% of your samples running Garbage Collection or X but that 0.3% was all consecutive and was scheduled during a VSync event and prevented the app from displaying the frame on time. You want your UI to highlight things that impact latency even if in aggregate the function was fast, because it still managed to make you skip a frame on the screen.<p>Tracing Vs. Sampling is just a data collection method. The issue here is the UI and how displaying the data in a strictly aggregate&#x2F;bottom-up view isn&#x27;t enough.<p>Here&#x27;s a demo of our open source cross-platform multi-process <i>sampling</i> low level profiler we use:<p><a href="http:&#x2F;&#x2F;people.mozilla.org&#x2F;~bgirard&#x2F;keyboard_timeline.mp4" rel="nofollow">http:&#x2F;&#x2F;people.mozilla.org&#x2F;~bgirard&#x2F;keyboard_timeline.mp4</a>