summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Hao <jeffhao@google.com>2015-05-11 23:44:15 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-05-11 23:44:15 +0000
commit55c4816fb2aa8ea54231de6dbcb4fa22642bb75e (patch)
tree0be7149f66798b331ace87b80a0ceb82e1db8faf
parenta75778438fde2e7ec5322a69930ff49ded48f4c1 (diff)
parentcf6a3b915c2984ae573b27a46dd732811d642427 (diff)
downloadframeworks_base-55c4816fb2aa8ea54231de6dbcb4fa22642bb75e.zip
frameworks_base-55c4816fb2aa8ea54231de6dbcb4fa22642bb75e.tar.gz
frameworks_base-55c4816fb2aa8ea54231de6dbcb4fa22642bb75e.tar.bz2
am cf6a3b91: Update ddms and profiling docs to include sample profiling.
* commit 'cf6a3b915c2984ae573b27a46dd732811d642427': Update ddms and profiling docs to include sample profiling.
-rw-r--r--docs/html/tools/debugging/ddms.jd4
-rw-r--r--docs/html/tools/debugging/debugging-tracing.jd11
2 files changed, 13 insertions, 2 deletions
diff --git a/docs/html/tools/debugging/ddms.jd b/docs/html/tools/debugging/ddms.jd
index 1b59875..5822e27 100644
--- a/docs/html/tools/debugging/ddms.jd
+++ b/docs/html/tools/debugging/ddms.jd
@@ -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
diff --git a/docs/html/tools/debugging/debugging-tracing.jd b/docs/html/tools/debugging/debugging-tracing.jd
index bd4afbc..098660b 100644
--- a/docs/html/tools/debugging/debugging-tracing.jd
+++ b/docs/html/tools/debugging/debugging-tracing.jd
@@ -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>