aboutsummaryrefslogtreecommitdiff
path: root/catapult/telemetry/telemetry/internal/platform/tracing_agent/display_tracing_agent.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/telemetry/telemetry/internal/platform/tracing_agent/display_tracing_agent.py')
-rw-r--r--catapult/telemetry/telemetry/internal/platform/tracing_agent/display_tracing_agent.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/catapult/telemetry/telemetry/internal/platform/tracing_agent/display_tracing_agent.py b/catapult/telemetry/telemetry/internal/platform/tracing_agent/display_tracing_agent.py
new file mode 100644
index 00000000..6ac9d46f
--- /dev/null
+++ b/catapult/telemetry/telemetry/internal/platform/tracing_agent/display_tracing_agent.py
@@ -0,0 +1,32 @@
+# 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.
+
+from telemetry.internal.platform import tracing_agent
+from telemetry.timeline import trace_data
+
+
+class DisplayTracingAgent(tracing_agent.TracingAgent):
+ def __init__(self, platform_backend):
+ super(DisplayTracingAgent, self).__init__(platform_backend)
+
+ @classmethod
+ def IsSupported(cls, platform_backend):
+ return platform_backend.IsDisplayTracingSupported()
+
+ def StartAgentTracing(self, config, timeout):
+ del timeout # unused
+ if config.enable_platform_display_trace:
+ self._platform_backend.StartDisplayTracing()
+ return True
+
+ def StopAgentTracing(self):
+ # TODO: Split collection and stopping.
+ pass
+
+ def CollectAgentTraceData(self, trace_data_builder, timeout=None):
+ # TODO: Move stopping to StopAgentTracing.
+ del timeout
+ surface_flinger_trace_data = self._platform_backend.StopDisplayTracing()
+ trace_data_builder.AddTraceFor(
+ trace_data.SURFACE_FLINGER_PART, surface_flinger_trace_data)