1page.title=Systrace Walkthrough 2meta.tags="android, performance, profiling, tools, compute, systrace" 3page.tags="android", "performance", "profiling", "tools", "compute", "systrace" 4page.metaDescription=Collect system and application process execution data to identify performance bottlenecks. 5page.image=tools/performance/thumbnails/tools_systrace.png 6page.article=true 7 8@jd:body 9 10<style> 11 .no-bullet { 12 list-style-type: none; 13 } 14 .padded { 15 padding-left: 10px; 16 } 17</style> 18 19<div id="tb" style="margin-left: 7px; margin-bottom: 5px;"> 20 21<h2>In this document</h2> 22<ul> 23 <li><a href="#WhatYouNeed">Prerequisites</a></li> 24 <li><a href="#WorkingWithSystrace">Working with Systrace</a></li> 25</ul> 26 27<h2>You should also read</h2> 28<ul> 29 <li><a href="{@docRoot}tools/performance/traceview/index.html"> 30 Traceview Walkthrough</a></li> 31 <li><a href="{@docRoot}tools/performance/allocation-tracker/index.html"> 32 Allocation Tracker Walkthrough</a></li> 33</ul> 34 35</div> 36 37 <p>This walkthrough shows the basic usage and workflow for the Systrace tool in the Android 38 Device Monitor.</p> 39 40 <p>Systrace collects system and application process execution data and generates detailed, 41 interactive reports from devices running Android 4.1 and higher.</p> 42 43 <p>What it's good for:</p> 44 45 <ul> 46 <li>Evaluating container performance.</li> 47 48 <li>Finding performance bottlenecks in the execution of your code.</li> 49 </ul> 50 51 <h2 id="WhatYouNeed">Prerequisites</h2> 52 53 <ul> 54 <li>Android SDK Tools 20.</li> 55 56 <li><a href="http://www.python.org/">Python</a> installed and included in your development 57 computer's execution path.</li> 58 59 <li>A mobile device running at least Android 4.1 with <a href= 60 "http://developer.android.com/tools/device.html#developer-device-options">Developer Options</a> 61 and USB Debugging enabled in Developer Options.</li> 62 63 <li>Application code. Use your own code, or the <a href= 64 "https://github.com/udacity/Sunshine-Version-2">Sunshine</a> sample app from the <a href= 65 "https://www.udacity.com/course/ud853">Android Fundamentals Udacity course</a>.</li> 66 </ul> 67 68 <h2 id="WorkingWithSystrace">Working with Systrace</h2> 69 70<ul class="no-bullet"> 71<!-- this also hides bullet, by default outside box --> 72 <li><div style="overflow:hidden"> 73 <ol class="padded"> 74 75 <div class="figure" style=""> 76 <img src="{@docRoot}images/tools/performance/systrace/gettingstarted_image001.png" 77 alt="" 78 width="400px" /> 79 <p class="img-caption"> 80 <strong>Figure 1. </strong>Starting Android Device Monitor. 81 </p> 82 </div> 83 84 <li>Connect your mobile device to your computer.</li> 85 86 <li>Open your application in Android Studio, build the source, and run it on your device.</li> 87 88 <li>From Android Studio, start the Android Device Monitor: <b>Tools -> Android -> Android 89 Device</b> <b>Monitor</b>. 90 91</ol> 92</div></li> 93 94<li><div style="overflow:hidden"> 95<hr> 96 <ol class="padded" start="4"> 97 98 <div class="figure" style=""> 99 <img src="{@docRoot}images/tools/performance/systrace/gettingstarted_image003.png" 100 alt="" 101 width="400px" /> 102 <p class="img-caption"> 103 <strong>Figure 2. </strong>Steps for starting Systrace. 104 </p> 105 </div> 106 107 <li>Make sure your 108 device and the package for your application are showing in the Devices (DDMS mode) or 109 Windows (Hierarchy Viewer mode) tab. 110 111 <p>You can choose <b>Window > Reset Perspective</b> to 112 get back to the default arrangement.</p> 113 </li> 114 115 <li>Click the <b>DDMS</b> button, because Systrace is one of the DDMS tools.</li> 116 117 <li>Click the <b>Systrace</b> button 118 <img src="{@docRoot}images/tools/performance/systrace/gettingstarted_image002.png">.</li> 119</ol> 120</div></li> 121 122<li><div style="overflow:hidden"> 123<hr> 124 <ol class="padded" start="7"> 125 126 <div class="figure" style=""> 127 <img src="{@docRoot}images/tools/performance/systrace/gettingstarted_image004.png" 128 alt="" 129 width="400px" /> 130 <p class="img-caption"> 131 <strong>Figure 3. </strong>Steps for creating a trace. 132 </p> 133 </div> 134 135 <li>In the <b>Android System Trace</b> popup, choose your settings for the trace. 136 137 <ul> 138 <li><b>Destination File:</b> Where the trace is stored as an HTML file. Default is in 139 your home directory as <code>trace.html</code>.</li> 140 141 <li><b>Trace Duration:</b> Default is 5 seconds, 142 and 30 seconds is a good time to choose.</li> 143 144 <li><b>Trace Buffer size:</b> Default is unlimited.</li> 145 146 <li><b>Enable Application Traces from:</b> Make sure your app is selected.</li> 147 148 <li><b>Select tags to enable:</b> Choose at least one value to trace, for example Graphics 149 and View System.</li> 150 </ul> 151 </li> 152 153 <li>Click <b>OK</b> to start tracing.</li> 154 155 <li>Interact with your app.</li> 156</ol> 157</div></li> 158 159<li><div style="overflow:hidden"> 160<hr> 161 <ol class="padded" start="10"> 162 163 <div class="figure" style=""> 164 <img src="{@docRoot}images/tools/performance/systrace/gettingstarted_image005.png" 165 alt="" 166 width="400px" /> 167 <p class="img-caption"> 168 <strong>Figure 4. </strong>Example systrace output in browser. 169 </p> 170 </div> 171 172 <li>When the trace is done, you are automatically returned to Android Device Monitor.</li> 173 174 <li>Go to your home directory, or the directory you chose as the file destination.</li> 175 176 <li>Open the <code>trace.html</code> file in your browser.</li> 177 178 </ol> 179</div></li> 180</ul> 181 182 183