The user interface does not provide a way to do this - you just need to remove the timeline and click on the busy sections.
There is a rude approach that can do what you want.
The SDK includes a tool called dmtracedump , which can be used to create reports from a .trace file. When you take the trace with DDMS, pay attention to the location of the file (mine was /tmp/ddms4176182990461128308.trace ). On Linux, you will run:
dmtracedump -o <filename> > trace.txt
This will give you a file that looks like this:
VERSION: 3 Threads (13): 1 main 2 GC 3 Signal Catcher 4 JDWP ... Trace (threadID action usecs class.method signature): 4 xit 0 ..dalvik/system/VMDebug.startMethodTracingDdms (IIZI)V 4 xit 0 .android/os/Debug.startMethodTracingDdms (IIZI)V 4 xit 0 android/ddm/DdmHandleProfiling.handleMPSS (Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk; ...
As noted in the output, each line begins with a stream identifier that corresponds to the table at the top (so stream 4 identifier is a JDWP stream that processes DDMS traffic). This is followed by an action code: ent to enter the method, xit to exit the method, or unr to expand the stack due to an exception. After that, the processor’s time stamp appears on the stream (i.e., the cumulative processor time used by this stream), then the method name and signature.
If you just want to see the main thread of the user interface (thread ID 1), you can use:
grep "^ 1 " trace.txt
Now this is a simple output analysis question. :-)
It would be easier to handle if you could strip data for uninteresting streams from the trace file, and then just open a new file using the traceview tool (included in the SDK). If you open the .trace file, you will see that it is a piece of text followed by a piece of binary data. You will need to write a program that passes the text through, then parses the binary part and removes something with a stream identifier different from the one you are interested in. The format is simple - a collection of records of a fixed size - described in the commentary at the top of the profiling code .
(I don't know if anyone wrote this already.)