OSDN Git Service

Update ddms and profiling docs to include sample profiling.
authorJeff Hao <jeffhao@google.com>
Wed, 6 May 2015 01:36:42 +0000 (18:36 -0700)
committerJeff Hao <jeffhao@google.com>
Sat, 9 May 2015 00:35:24 +0000 (17:35 -0700)
Bug: 5866094

Change-Id: Ib97990ee2fc823416b3f41856b815d4092818f98

docs/html/tools/debugging/ddms.jd
docs/html/tools/debugging/debugging-tracing.jd

index e9c2877..28ad11e 100644 (file)
@@ -204,6 +204,10 @@ parent.link=index.html
 
     <li>Click the <strong>Start Method Profiling</strong> button.</li>
 
+    <li>In Android 4.4 and later, choose either trace-based profiling or sample-based profiling
+    with a specified sampling interval. For earlier versions of Android, only trace-based profiling
+    is available.</li>
+
     <li>Interact with your application to start the methods that you want to profile.</li>
 
     <li>Click the <strong>Stop Method Profiling</strong> button. DDMS stops profiling your
index bd4afbc..098660b 100644 (file)
@@ -127,7 +127,7 @@ parent.link=index.html
   {@link android.os.Debug#startMethodTracing() startMethodTracing()} methods. In the call, you
   specify a base name for the trace files that the system generates. To stop tracing, call {@link
   android.os.Debug#stopMethodTracing() stopMethodTracing()}. These methods start and stop method
-  tracing across the entire virtual machine. For example, you could call 
+  tracing across the entire virtual machine. For example, you could call
   {@link android.os.Debug#startMethodTracing() startMethodTracing()} in
   your activity's {@link android.app.Activity#onCreate onCreate()} method, and call
   {@link android.os.Debug#stopMethodTracing() stopMethodTracing()} in that activity's
@@ -157,6 +157,12 @@ parent.link=index.html
   times are only useful in relation to other profile output, so you can see if changes have made
   the code faster or slower relative to a previous profiling run.</p>
 
+  <p>In Android 4.4 and later, you can use sample-based profiling to profile with less runtime
+  performance impact. To enable sample profiling, call {@link
+  android.os.Debug#startMethodTracingSampling() startMethodTracingSampling()} with a specified
+  sampling interval. The system will then gather samples periodically until tracing is stopped
+  via {@link android.os.Debug#stopMethodTracing() stopMethodTracing()}.</p>
+
   <h2 id="copyingfiles">Copying Trace Files to a Host Machine</h2>
 
   <p>After your application has run and the system has created your trace files
@@ -277,7 +283,8 @@ dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] &lt;trace-base
       Traceview logging does not handle threads well, resulting in these two problems:
 
       <ol>
-        <li>If a thread exits during profiling, the thread name is not emitted;</li>
+        <li>If a thread exits during profiling, the thread name is not emitted (fixed in Android 5.1
+       and later);</li>
 
         <li>The VM reuses thread IDs. If a thread stops and another starts, they may get the same
         ID.</li>