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

Unified Diff: systrace/profile_chrome/perf_tracing_agent.py

Issue 2297403003: Use Systrace tracing controller in profile_chrome (Closed) Base URL: https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git@master
Patch Set: Added property method for tracing controller's child agents Created 4 years, 3 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: systrace/profile_chrome/perf_tracing_agent.py
diff --git a/systrace/profile_chrome/perf_tracing_agent.py b/systrace/profile_chrome/perf_tracing_agent.py
index f1414e06bc30a26d13899b2a7d8c937f9c00c73f..dc03bb80b366ee050780faad14e1ea57f14c6d42 100644
--- a/systrace/profile_chrome/perf_tracing_agent.py
+++ b/systrace/profile_chrome/perf_tracing_agent.py
@@ -127,12 +127,14 @@ class PerfProfilerAgent(tracing_agents.TracingAgent):
self._perf_instance = _PerfProfiler(self._device,
self._perf_binary,
self._categories)
+ return True
@py_utils.Timeout(tracing_agents.START_STOP_TIMEOUT)
def StopAgentTracing(self, timeout=None):
if not self._perf_instance:
return
self._perf_instance.SignalAndWait()
+ return True
@py_utils.Timeout(tracing_agents.GET_RESULTS_TIMEOUT)
def GetResults(self, timeout=None):
@@ -204,6 +206,7 @@ class PerfProfilerAgent(tracing_agents.TracingAgent):
return False
def RecordClockSyncMarker(self, sync_id, did_record_sync_marker_callback):
+ # pylint: disable=unused-argument
assert self.SupportsExplicitClockSync(), ('Clock sync marker cannot be '
'recorded since explicit clock sync is not supported.')
@@ -217,11 +220,17 @@ def _OptionalValueCallback(default_value):
class PerfConfig(tracing_agents.TracingConfig):
- def __init__(self, perf_categories):
+ def __init__(self, perf_categories, device):
tracing_agents.TracingConfig.__init__(self)
self.perf_categories = perf_categories
+ self.device = device
+def try_create_agent(config):
+ if config.perf_categories:
+ return PerfProfilerAgent(config.device)
+ return None
+
def add_options(parser):
options = optparse.OptionGroup(parser, 'Perf profiling options')
options.add_option('-p', '--perf', help='Capture a perf profile with '
@@ -234,7 +243,7 @@ def add_options(parser):
return options
def get_config(options):
- return PerfConfig(options.perf_categories)
+ return PerfConfig(options.perf_categories, options.device)
def _ComputePerfCategories(config):
if not PerfProfilerAgent.IsSupported():

Powered by Google App Engine
This is Rietveld 408576698