Question

Time Profiler seems to only show function calls sorted by their CPU time ranking. However, sometimes I'd like to see call sequence (multithreaded) during a particular run.

Do I need a custom instrument to achieve that instead?

I played around with the checkboxes that Time Profiler provided in its UI, but nothing helped. I had to resort to the good old logging, which is obviously inefficient.

No correct solution

OTHER TIPS

It's a sampling profiler, so it only shows you the calls that were executing when it sampled; you can't see every call that happened over a period of time. That said, you can see the call-stack that leads up to every call, if you show the 'Extended Detail Pane' over on the right, which may give you a good idea what happened. See the Apple documentation.

As an alternative solution, see How to log all methods used in iOS app

There is a tool that analyses instruments trace files and does what you're describing at: http://timeanalyzer.excelsis.com

Currently, it only works on the main thread, and only for the first 30 seconds of profiling. It shows a function call stack waterfall: X axis is time, Y axis is the call stack.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top