1
2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
3<html><head><title>Python: module telemetry.internal.platform.profiler.android_profiling_helper</title>
4<meta charset="utf-8">
5</head><body bgcolor="#f0f0f8">
6
7<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
8<tr bgcolor="#7799ee">
9<td valign=bottom>&nbsp;<br>
10<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="telemetry.html"><font color="#ffffff">telemetry</font></a>.<a href="telemetry.internal.html"><font color="#ffffff">internal</font></a>.<a href="telemetry.internal.platform.html"><font color="#ffffff">platform</font></a>.<a href="telemetry.internal.platform.profiler.html"><font color="#ffffff">profiler</font></a>.android_profiling_helper</strong></big></big></font></td
11><td align=right valign=bottom
12><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="../telemetry/internal/platform/profiler/android_profiling_helper.py">telemetry/internal/platform/profiler/android_profiling_helper.py</a></font></td></tr></table>
13    <p><tt>#&nbsp;Copyright&nbsp;2014&nbsp;The&nbsp;Chromium&nbsp;Authors.&nbsp;All&nbsp;rights&nbsp;reserved.<br>
14#&nbsp;Use&nbsp;of&nbsp;this&nbsp;source&nbsp;code&nbsp;is&nbsp;governed&nbsp;by&nbsp;a&nbsp;BSD-style&nbsp;license&nbsp;that&nbsp;can&nbsp;be<br>
15#&nbsp;found&nbsp;in&nbsp;the&nbsp;LICENSE&nbsp;file.</tt></p>
16<p>
17<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
18<tr bgcolor="#aa55cc">
19<td colspan=3 valign=bottom>&nbsp;<br>
20<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
21
22<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
23<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="telemetry.internal.platform.profiler.android_prebuilt_profiler_helper.html">telemetry.internal.platform.profiler.android_prebuilt_profiler_helper</a><br>
24<a href="telemetry.internal.util.binary_manager.html">telemetry.internal.util.binary_manager</a><br>
25<a href="telemetry.decorators.html">telemetry.decorators</a><br>
26<a href="glob.html">glob</a><br>
27</td><td width="25%" valign=top><a href="hashlib.html">hashlib</a><br>
28<a href="logging.html">logging</a><br>
29<a href="devil.android.md5sum.html">devil.android.md5sum</a><br>
30<a href="os.html">os</a><br>
31</td><td width="25%" valign=top><a href="platform.html">platform</a><br>
32<a href="re.html">re</a><br>
33<a href="shutil.html">shutil</a><br>
34<a href="sqlite3.html">sqlite3</a><br>
35</td><td width="25%" valign=top><a href="subprocess.html">subprocess</a><br>
36<a href="telemetry.core.platform.html">telemetry.core.platform</a><br>
37<a href="telemetry.core.util.html">telemetry.core.util</a><br>
38</td></tr></table></td></tr></table><p>
39<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
40<tr bgcolor="#eeaa77">
41<td colspan=3 valign=bottom>&nbsp;<br>
42<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
43
44<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
45<td width="100%"><dl><dt><a name="-CreateSymFs"><strong>CreateSymFs</strong></a>(device, symfs_dir, libraries, use_symlinks<font color="#909090">=True</font>)</dt><dd><tt>Creates&nbsp;a&nbsp;symfs&nbsp;directory&nbsp;to&nbsp;be&nbsp;used&nbsp;for&nbsp;symbolizing&nbsp;profiles.<br>
46&nbsp;<br>
47Prepares&nbsp;a&nbsp;set&nbsp;of&nbsp;files&nbsp;("symfs")&nbsp;to&nbsp;be&nbsp;used&nbsp;with&nbsp;profilers&nbsp;such&nbsp;as&nbsp;perf&nbsp;for<br>
48converting&nbsp;binary&nbsp;addresses&nbsp;into&nbsp;human&nbsp;readable&nbsp;function&nbsp;names.<br>
49&nbsp;<br>
50Args:<br>
51&nbsp;&nbsp;device:&nbsp;DeviceUtils&nbsp;instance&nbsp;identifying&nbsp;the&nbsp;target&nbsp;device.<br>
52&nbsp;&nbsp;symfs_dir:&nbsp;Path&nbsp;where&nbsp;the&nbsp;symfs&nbsp;should&nbsp;be&nbsp;created.<br>
53&nbsp;&nbsp;libraries:&nbsp;Set&nbsp;of&nbsp;library&nbsp;file&nbsp;names&nbsp;that&nbsp;should&nbsp;be&nbsp;included&nbsp;in&nbsp;the&nbsp;symfs.<br>
54&nbsp;&nbsp;use_symlinks:&nbsp;If&nbsp;True,&nbsp;link&nbsp;instead&nbsp;of&nbsp;copy&nbsp;unstripped&nbsp;libraries&nbsp;into&nbsp;the<br>
55&nbsp;&nbsp;&nbsp;&nbsp;symfs.&nbsp;This&nbsp;will&nbsp;speed&nbsp;up&nbsp;the&nbsp;operation,&nbsp;but&nbsp;the&nbsp;resulting&nbsp;symfs&nbsp;will&nbsp;no<br>
56&nbsp;&nbsp;&nbsp;&nbsp;longer&nbsp;be&nbsp;valid&nbsp;if&nbsp;the&nbsp;linked&nbsp;files&nbsp;are&nbsp;modified,&nbsp;e.g.,&nbsp;by&nbsp;rebuilding.<br>
57&nbsp;<br>
58Returns:<br>
59&nbsp;&nbsp;The&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;kernel&nbsp;symbols&nbsp;within&nbsp;the&nbsp;created&nbsp;symfs.</tt></dd></dl>
60 <dl><dt><a name="-GetPerfhostName"><strong>GetPerfhostName</strong></a>(*args, **kwargs)</dt></dl>
61 <dl><dt><a name="-GetRequiredLibrariesForPerfProfile"><strong>GetRequiredLibrariesForPerfProfile</strong></a>(profile_file)</dt><dd><tt>Returns&nbsp;the&nbsp;set&nbsp;of&nbsp;libraries&nbsp;necessary&nbsp;to&nbsp;symbolize&nbsp;a&nbsp;given&nbsp;perf&nbsp;profile.<br>
62&nbsp;<br>
63Args:<br>
64&nbsp;&nbsp;profile_file:&nbsp;Path&nbsp;to&nbsp;perf&nbsp;profile&nbsp;to&nbsp;analyse.<br>
65&nbsp;<br>
66Returns:<br>
67&nbsp;&nbsp;A&nbsp;set&nbsp;of&nbsp;required&nbsp;library&nbsp;file&nbsp;names.</tt></dd></dl>
68 <dl><dt><a name="-GetRequiredLibrariesForVTuneProfile"><strong>GetRequiredLibrariesForVTuneProfile</strong></a>(profile_file)</dt><dd><tt>Returns&nbsp;the&nbsp;set&nbsp;of&nbsp;libraries&nbsp;necessary&nbsp;to&nbsp;symbolize&nbsp;a&nbsp;given&nbsp;VTune&nbsp;profile.<br>
69&nbsp;<br>
70Args:<br>
71&nbsp;&nbsp;profile_file:&nbsp;Path&nbsp;to&nbsp;VTune&nbsp;profile&nbsp;to&nbsp;analyse.<br>
72&nbsp;<br>
73Returns:<br>
74&nbsp;&nbsp;A&nbsp;set&nbsp;of&nbsp;required&nbsp;library&nbsp;file&nbsp;names.</tt></dd></dl>
75 <dl><dt><a name="-GetToolchainBinaryPath"><strong>GetToolchainBinaryPath</strong></a>(library_file, binary_name)</dt><dd><tt>Return&nbsp;the&nbsp;path&nbsp;to&nbsp;an&nbsp;Android&nbsp;toolchain&nbsp;binary&nbsp;on&nbsp;the&nbsp;host.<br>
76&nbsp;<br>
77Args:<br>
78&nbsp;&nbsp;library_file:&nbsp;ELF&nbsp;library&nbsp;which&nbsp;is&nbsp;used&nbsp;to&nbsp;identify&nbsp;the&nbsp;used&nbsp;ABI,<br>
79&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;architecture&nbsp;and&nbsp;toolchain.<br>
80&nbsp;&nbsp;binary_name:&nbsp;Binary&nbsp;to&nbsp;search&nbsp;for,&nbsp;e.g.,&nbsp;'objdump'<br>
81Returns:<br>
82&nbsp;&nbsp;Full&nbsp;path&nbsp;to&nbsp;binary&nbsp;or&nbsp;None&nbsp;if&nbsp;the&nbsp;binary&nbsp;was&nbsp;not&nbsp;found.</tt></dd></dl>
83 <dl><dt><a name="-PrepareDeviceForPerf"><strong>PrepareDeviceForPerf</strong></a>(device)</dt><dd><tt>Set&nbsp;up&nbsp;a&nbsp;device&nbsp;for&nbsp;running&nbsp;perf.<br>
84&nbsp;<br>
85Args:<br>
86&nbsp;&nbsp;device:&nbsp;DeviceUtils&nbsp;instance&nbsp;identifying&nbsp;the&nbsp;target&nbsp;device.<br>
87&nbsp;<br>
88Returns:<br>
89&nbsp;&nbsp;The&nbsp;path&nbsp;to&nbsp;the&nbsp;installed&nbsp;perf&nbsp;binary&nbsp;on&nbsp;the&nbsp;device.</tt></dd></dl>
90</td></tr></table>
91</body></html>