telemetry.web_perf.metrics.smoothness | index telemetry/web_perf/metrics/smoothness.py

`# 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.`

Modules
`` |  |

telemetry.value.improvement_direction telemetry.value.list_of_scalar_values | logging telemetry.util.perf_tests_helper | telemetry.web_perf.metrics.rendering_stats telemetry.value.scalar | telemetry.util.statistics telemetry.web_perf.metrics.timeline_based_metric

Classes
`` |  |

telemetry.web_perf.metrics.timeline_based_metric.TimelineBasedMetric(__builtin__.object)
  SmoothnessMetric

class SmoothnessMetric(telemetry.web_perf.metrics.timeline_based_metric.TimelineBasedMetric)
`` | `Computes metrics that measure smoothness of animations over given ranges. Animations are typically considered smooth if the frame rates are close to 60 frames per second (fps) and uniformly distributed over the sequence. To determine if a timeline range contains a smooth animation, we update the
results object with several representative metrics:
frame_times: A list of raw frame times
mean_frame_time: The arithmetic mean of frame times
percentage_smooth: Percentage of frames that were hitting 60 FPS.
frame_time_discrepancy: The absolute discrepancy of frame timestamps
mean_pixels_approximated: The mean percentage of pixels approximated
queueing_durations: The queueing delay between compositor & main threads
Note that if any of the interaction records provided to AddResults have less
than 2 frames, we will return telemetry values with None values for each of
the smoothness metrics. Similarly, older browsers without support for
tracking the BeginMainFrame events will report a ListOfScalarValues with a
None value for the queueing duration metric.
`

Method resolution order:
  SmoothnessMetric
  telemetry.web_perf.metrics.timeline_based_metric.TimelineBasedMetric
  __builtin__.object

Methods defined here:

AddResults(self, model, renderer_thread, interaction_records, results)

__init__(self)

Methods inherited from telemetry.web_perf.metrics.timeline_based_metric.TimelineBasedMetric:

AddWholeTraceResults(self, model, results)
  `Computes and adds metrics corresponding to the entire trace.
  Override this method to compute results that correspond to the whole trace.
  Args:
  model: An instance of telemetry.timeline.model.TimelineModel.
  results: An instance of page.PageTestResults.`

VerifyNonOverlappedRecords(self, interaction_records)
  `This raises exceptions if interaction_records contain overlapped ranges.`

Data descriptors inherited from telemetry.web_perf.metrics.timeline_based_metric.TimelineBasedMetric:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

Data
`` |  | NOT_ENOUGH_FRAMES_MESSAGE = "Not enough frames for smoothness metrics (at lea...der extremely slow\n- Pages that can't be scrolled"