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

Unified Diff: tools/telemetry/telemetry/web_perf/metrics/rendering_frame.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/web_perf/metrics/rendering_frame.py
diff --git a/tools/telemetry/telemetry/web_perf/metrics/rendering_frame.py b/tools/telemetry/telemetry/web_perf/metrics/rendering_frame.py
deleted file mode 100644
index 48f8546f5a5253b9e2c6484da695c286e1d7625a..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/web_perf/metrics/rendering_frame.py
+++ /dev/null
@@ -1,86 +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.
-
-from collections import defaultdict
-
-from telemetry.timeline import bounds
-from telemetry.timeline import slice as slice_module
-
-
-class MissingData(Exception):
- pass
-
-
-class NoBeginFrameIdException(Exception):
- pass
-
-
-class RenderingFrame(object):
- """Object with information about the triggering of a BeginMainFrame event."""
- send_begin_frame_event = 'ThreadProxy::ScheduledActionSendBeginMainFrame'
- begin_main_frame_event = 'ThreadProxy::BeginMainFrame'
-
- def __init__(self, events):
- all_send_begin_frame_events = [e for e in events
- if e.name == self.send_begin_frame_event]
- if len(all_send_begin_frame_events) != 1:
- raise MissingData('There must be at exactly one %s event.' %
- self.send_begin_frame_event)
-
- all_begin_main_frame_events = [e for e in events
- if e.name == self.begin_main_frame_event]
- if not all_begin_main_frame_events:
- raise MissingData('There must be at least one %s event.' %
- self.begin_main_frame_event)
- all_begin_main_frame_events.sort(key=lambda e: e.start)
-
- self._send_begin_frame = all_send_begin_frame_events[0]
- self._begin_main_frame = all_begin_main_frame_events[-1]
-
- self._bounds = bounds.Bounds()
- self._bounds.AddEvent(self._begin_main_frame)
- self._bounds.AddEvent(self._send_begin_frame)
-
- @staticmethod
- def IsEventUseful(event):
- return event.name in [RenderingFrame.send_begin_frame_event,
- RenderingFrame.begin_main_frame_event]
-
- @property
- def bounds(self):
- return self._bounds
-
- @property
- def queueing_duration(self):
- return self._begin_main_frame.start - self._send_begin_frame.start
-
-
-def GetFrameEventsInsideRange(renderer_process, timeline_range):
- """Returns RenderingFrames for all relevant events in the timeline_range."""
- # First filter all events from the renderer_process and turn them into a
- # dictonary of the form:
- # {0: [send_begin_frame, begin_main_frame, begin_main_frame],
- # 1: [begin_main_frame, send_begin_frame],
- # 2: [send_begin_frame, begin_main_frame]}
- begin_frame_events_by_id = defaultdict(list)
- for event in renderer_process.IterAllEvents(
- event_type_predicate=lambda t: t == slice_module.Slice,
- event_predicate=RenderingFrame.IsEventUseful):
- begin_frame_id = event.args.get('begin_frame_id', None)
- if begin_frame_id is None:
- raise NoBeginFrameIdException('Event is missing a begin_frame_id.')
- begin_frame_events_by_id[begin_frame_id].append(event)
-
- # Now, create RenderingFrames for events wherever possible.
- frames = []
- for events in begin_frame_events_by_id.values():
- try:
- frame = RenderingFrame(events)
- if frame.bounds.Intersects(timeline_range):
- frames.append(frame)
- except MissingData:
- continue
- frames.sort(key=lambda frame: frame.bounds.min)
-
- return frames

Powered by Google App Engine
This is Rietveld 408576698