| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import logging | 5 import logging |
| 6 import os | 6 import os |
| 7 import subprocess | 7 import subprocess |
| 8 import sys | 8 import sys |
| 9 import tempfile | 9 import tempfile |
| 10 | 10 |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 required_libs, | 164 required_libs, |
| 165 use_symlinks=False) | 165 use_symlinks=False) |
| 166 perfhost_path = os.path.abspath(support_binaries.FindPath( | 166 perfhost_path = os.path.abspath(support_binaries.FindPath( |
| 167 'perfhost', 'linux')) | 167 'perfhost', 'linux')) |
| 168 | 168 |
| 169 ui.PrintMessage('\nNote: to view the profile in perf, run:') | 169 ui.PrintMessage('\nNote: to view the profile in perf, run:') |
| 170 ui.PrintMessage(' ' + self._GetInteractivePerfCommand(perfhost_path, | 170 ui.PrintMessage(' ' + self._GetInteractivePerfCommand(perfhost_path, |
| 171 perf_profile, symfs_dir, required_libs, kallsyms)) | 171 perf_profile, symfs_dir, required_libs, kallsyms)) |
| 172 | 172 |
| 173 # Convert the perf profile into JSON. | 173 # Convert the perf profile into JSON. |
| 174 perf_script_path = os.path.join(constants.DIR_SOURCE_ROOT, | 174 perf_script_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), |
| 175 'tools', 'telemetry', 'telemetry', 'core', 'platform', 'profiler', | 175 'perf_to_tracing.py') |
| 176 'perf_vis', 'perf_to_tracing.py') | |
| 177 json_file_name = os.path.basename(perf_profile) | 176 json_file_name = os.path.basename(perf_profile) |
| 178 with open(os.devnull, 'w') as dev_null, \ | 177 with open(os.devnull, 'w') as dev_null, \ |
| 179 open(json_file_name, 'w') as json_file: | 178 open(json_file_name, 'w') as json_file: |
| 180 cmd = [perfhost_path, 'script', '-s', perf_script_path, '-i', | 179 cmd = [perfhost_path, 'script', '-s', perf_script_path, '-i', |
| 181 perf_profile, '--symfs', symfs_dir, '--kallsyms', kallsyms] | 180 perf_profile, '--symfs', symfs_dir, '--kallsyms', kallsyms] |
| 182 if subprocess.call(cmd, stdout=json_file, stderr=dev_null): | 181 if subprocess.call(cmd, stdout=json_file, stderr=dev_null): |
| 183 logging.warning('Perf data to JSON conversion failed. The result will ' | 182 logging.warning('Perf data to JSON conversion failed. The result will ' |
| 184 'not contain any perf samples. You can still view the ' | 183 'not contain any perf samples. You can still view the ' |
| 185 'perf data manually as shown above.') | 184 'perf data manually as shown above.') |
| 186 return None | 185 return None |
| 187 | 186 |
| 188 return json_file_name | 187 return json_file_name |
| OLD | NEW |