Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4492b41 authored by Jeff Hao's avatar Jeff Hao Committed by Android (Google) Code Review
Browse files

Merge "Update ddms and profiling docs to include sample profiling." into mnc-dev

parents ceacb51e ad06fbb8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+9 −2
Original line number Diff line number Diff line
@@ -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>