Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1093)

Unified Diff: tools/telemetry/telemetry/internal/platform/profiler/win_pgo_profiler.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/internal/platform/profiler/win_pgo_profiler.py
diff --git a/tools/telemetry/telemetry/internal/platform/profiler/win_pgo_profiler.py b/tools/telemetry/telemetry/internal/platform/profiler/win_pgo_profiler.py
deleted file mode 100644
index 163e9e6190a209e5c82612580ebae7ecdba393d0..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/platform/profiler/win_pgo_profiler.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import glob
-import os
-import subprocess
-import sys
-
-from telemetry.internal.platform import profiler
-
-_PGOSWEEP_EXECUTABLE = 'pgosweep.exe'
-
-
-class WinPGOProfiler(profiler.Profiler):
- """A profiler that run the Visual Studio PGO utility 'pgosweep.exe' before
- terminating a browser or a renderer process.
- """
-
- def __init__(self, browser_backend, platform_backend, output_path, state):
- super(WinPGOProfiler, self).__init__(
- browser_backend, platform_backend, output_path, state)
-
- pgosweep_is_in_path = False
- for entry in os.environ['PATH'].split(os.pathsep):
- if os.path.exists(os.path.join(entry, _PGOSWEEP_EXECUTABLE)):
- pgosweep_is_in_path = True
- break
- if not pgosweep_is_in_path:
- raise IOError(2, '%s isn\'t in the current path, run vcvarsall.bat to fix'
- ' this.' % _PGOSWEEP_EXECUTABLE)
-
- self._browser_dir = browser_backend.browser_directory
- self._chrome_child_pgc_counter = self._GetNextProfileIndex('chrome_child')
-
- def _GetNextProfileIndex(self, dll_name):
- """Scan the directory containing the DLL |dll_name| to find the next index
- to use for the profile data files.
-
- Args:
- dll_name: The name of the DLL for which we want to get the next index to
- to use.
- """
- max_index = 0
- pgc_files = glob.glob(os.path.join(self._browser_dir,
- '%s!*.pgc' % dll_name))
- for pgc_file in pgc_files:
- max_index = max(max_index,
- int(os.path.splitext(os.path.split(pgc_file)[1])[0].split('!')[1]))
- return max_index + 1
-
- def _RunPGOSweep(self, pid, dll_name, index):
- """Run the pgosweep utility to gather the profile data of a given process.
-
- Args:
- pid: The PID of the process we're interested in.
- dll_name: The name of the DLL for which we want the profile data.
- index: The index to use for the profile data file.
-
- Returns the name of the profile data file.
- """
- pgc_filename = '%s\\%s!%d.pgc' % (self._browser_dir, dll_name, index)
- subprocess.Popen([_PGOSWEEP_EXECUTABLE,
- '/pid:%d' % pid,
- '%s.dll' % dll_name,
- pgc_filename]
- ).wait()
- return pgc_filename
-
- @classmethod
- def name(cls):
- return 'win_pgo_profiler'
-
- @classmethod
- def is_supported(cls, browser_type):
- # This profiler only make sense when doing a Windows build with Visual
- # Studio (minimal supported version is 2013 Update 2).
- return sys.platform.startswith('win')
-
- @classmethod
- def CustomizeBrowserOptions(cls, browser_type, options):
- # The sandbox need to be disabled if we want to be able to gather the
- # profile data.
- options.AppendExtraBrowserArgs('--no-sandbox')
-
- def CollectProfile(self):
- """Collect the profile data for the current processes."""
- output_files = []
- for pid, output_file in self._GetProcessOutputFileMap().iteritems():
- if 'renderer' in output_file:
- output_files.append(self._RunPGOSweep(pid,
- 'chrome_child',
- self._chrome_child_pgc_counter))
- self._chrome_child_pgc_counter += 1
- return output_files

Powered by Google App Engine
This is Rietveld 408576698