Index: tools/telemetry/telemetry/web_perf/metrics/startup.py |
diff --git a/tools/telemetry/telemetry/web_perf/metrics/startup.py b/tools/telemetry/telemetry/web_perf/metrics/startup.py |
deleted file mode 100644 |
index db5729bcbb953a6f2804c16f88fc5c5a78012861..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/web_perf/metrics/startup.py |
+++ /dev/null |
@@ -1,95 +0,0 @@ |
-# Copyright 2015 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 import value |
-from telemetry.web_perf.metrics import timeline_based_metric |
- |
-_PROCESS_CREATION = 'Startup.BrowserProcessCreation' |
-_MAIN_ENTRY_POINT = 'Startup.BrowserMainEntryPoint' |
- |
-# A dictionary that maps metric names to a value, which can be either of |
-# the two: |
-# 1. A tuple of one event name if the event itself contains reported duration |
-# 2. A tuple of two event names if the value to report is the time difference |
-# between starting these events |
-_METRICS = { |
- 'messageloop_start_time': |
- ('Startup.BrowserMessageLoopStartTimeFromMainEntry',), |
- |
- 'window_display_time': |
- ('Startup.BrowserWindowDisplay',), |
- |
- 'open_tabs_time': |
- ('Startup.BrowserOpenTabs',), |
- |
- 'first_non_empty_paint_time': |
- ('Startup.FirstWebContents.NonEmptyPaint2',), |
- |
- 'first_main_frame_load_time': |
- ('Startup.FirstWebContents.MainFrameLoad2',), |
- |
- 'foreground_tab_load_complete': |
- (_MAIN_ENTRY_POINT, 'loadEventEnd'), |
- |
- 'foreground_tab_request_start': |
- (_MAIN_ENTRY_POINT, 'requestStart'), |
-} |
- |
-_TRACKED_EVENT_NAMES = set() |
-for i in _METRICS.values(): |
- _TRACKED_EVENT_NAMES.add(i[0]) |
- if len(i) == 2: |
- _TRACKED_EVENT_NAMES.add(i[1]) |
- |
- |
-class StartupTimelineMetric(timeline_based_metric.TimelineBasedMetric): |
- """Reports summary stats from important startup events.""" |
- |
- def __init__(self): |
- super(StartupTimelineMetric, self).__init__() |
- |
- def AddResults(self, model, _renderer_thread, interactions, results): |
- pass |
- |
- def AddWholeTraceResults(self, model, results): |
- browser = model.browser_process |
- |
- if not browser: |
- return |
- |
- # Produce a map of events to track. |
- tracked_events = {} |
- for event in browser.parent.IterAllEvents( |
- event_predicate=lambda event: event.name in _TRACKED_EVENT_NAMES): |
- # In case of a begin/end trace event, only track the begin that contain |
- # the duration. |
- if event.name in tracked_events: |
- continue |
- |
- tracked_events[event.name] = event |
- |
- # Generate the metric values according to the tracked events. |
- for display_name, event_names in _METRICS.iteritems(): |
- if event_names[0] not in tracked_events: |
- continue |
- |
- duration = None |
- if len(event_names) == 1: |
- # The single event contains the duration to report. |
- duration = tracked_events[event_names[0]].duration |
- |
- elif len(event_names) == 2: |
- # The duration is defined as the difference between two event starts. |
- if event_names[1] not in tracked_events: |
- continue |
- |
- duration = (tracked_events[event_names[1]].start - |
- tracked_events[event_names[0]].start) |
- |
- results.AddValue(value.scalar.ScalarValue( |
- page=results.current_page, |
- name=display_name, |
- units='ms', |
- value=duration, |
- improvement_direction=value.improvement_direction.DOWN)) |