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
3 # found in the LICENSE file.
5 from telemetry
.internal
.platform
import tracing_agent
6 from tracing
.trace_data
import trace_data
9 class DisplayTracingAgent(tracing_agent
.TracingAgent
):
10 def __init__(self
, platform_backend
):
11 super(DisplayTracingAgent
, self
).__init
__(platform_backend
)
14 def IsSupported(cls
, platform_backend
):
15 return platform_backend
.IsDisplayTracingSupported()
17 def StartAgentTracing(self
, config
, timeout
):
19 if config
.enable_platform_display_trace
:
20 self
._platform
_backend
.StartDisplayTracing()
23 def StopAgentTracing(self
):
24 # TODO: Split collection and stopping.
27 def CollectAgentTraceData(self
, trace_data_builder
, timeout
=None):
28 # TODO: Move stopping to StopAgentTracing.
30 surface_flinger_trace_data
= self
._platform
_backend
.StopDisplayTracing()
31 trace_data_builder
.AddTraceFor(
32 trace_data
.SURFACE_FLINGER_PART
, surface_flinger_trace_data
)