| Index: tools/telemetry/telemetry/web_perf/metrics/webrtc_rendering_timeline.py
|
| diff --git a/tools/telemetry/telemetry/web_perf/metrics/webrtc_rendering_timeline.py b/tools/telemetry/telemetry/web_perf/metrics/webrtc_rendering_timeline.py
|
| deleted file mode 100644
|
| index ef7f8b265d5a4fc00e8f21e75d59bd77a24b55de..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/web_perf/metrics/webrtc_rendering_timeline.py
|
| +++ /dev/null
|
| @@ -1,122 +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.value import list_of_scalar_values
|
| -from telemetry.value import scalar
|
| -from telemetry.value import improvement_direction
|
| -from telemetry.web_perf.metrics import timeline_based_metric
|
| -from telemetry.web_perf.metrics import webrtc_rendering_stats as stats_helper
|
| -
|
| -WEB_MEDIA_PLAYER_MS_EVENT = 'WebMediaPlayerMS::UpdateCurrentFrame'
|
| -
|
| -
|
| -class WebRtcRenderingTimelineMetric(timeline_based_metric.TimelineBasedMetric):
|
| - """WebrtcRenderingTimelineMetric calculates metric for WebMediaPlayerMS.
|
| -
|
| - The following metrics are added to the results:
|
| - WebRTCRendering_drift_time us
|
| - WebRTCRendering_percent_badly_out_of_sync %
|
| - WebRTCRendering_percent_out_of_sync %
|
| - WebRTCRendering_fps FPS
|
| - WebRTCRendering_smoothness_score %
|
| - WebRTCRendering_freezing_score %
|
| - WebRTCRendering_rendering_length_error %
|
| - """
|
| -
|
| - def __init__(self):
|
| - super(WebRtcRenderingTimelineMetric, self).__init__()
|
| -
|
| - @staticmethod
|
| - def IsMediaPlayerMSEvent(event):
|
| - """Verify that the event is a webmediaplayerMS event."""
|
| - return event.name == WEB_MEDIA_PLAYER_MS_EVENT
|
| -
|
| - def AddResults(self, model, renderer_thread, interactions, results):
|
| - """Adding metrics to the results."""
|
| - assert interactions
|
| - found_events = []
|
| - for event in renderer_thread.parent.IterAllEvents(
|
| - event_predicate=self.IsMediaPlayerMSEvent):
|
| - if timeline_based_metric.IsEventInInteractions(event, interactions):
|
| - found_events.append(event)
|
| - stats_parser = stats_helper.WebMediaPlayerMsRenderingStats(found_events)
|
| - rendering_stats = stats_parser.GetTimeStats()
|
| - none_reason = None
|
| - if not rendering_stats:
|
| - # Create a TimeStats object whose members have None values.
|
| - rendering_stats = stats_helper.TimeStats()
|
| - none_reason = 'No WebMediaPlayerMS::UpdateCurrentFrame event found'
|
| - results.AddValue(list_of_scalar_values.ListOfScalarValues(
|
| - results.current_page,
|
| - 'WebRTCRendering_drift_time',
|
| - 'us',
|
| - rendering_stats.drift_time,
|
| - important=True,
|
| - description='Drift time for a rendered frame',
|
| - improvement_direction=improvement_direction.DOWN,
|
| - none_value_reason=none_reason))
|
| -
|
| - results.AddValue(scalar.ScalarValue(
|
| - results.current_page,
|
| - 'WebRTCRendering_percent_badly_out_of_sync',
|
| - '%',
|
| - rendering_stats.percent_badly_out_of_sync,
|
| - important=True,
|
| - description='Percentage of frame which drifted more than 2 VSYNC',
|
| - improvement_direction=improvement_direction.DOWN,
|
| - none_value_reason=none_reason))
|
| -
|
| - results.AddValue(scalar.ScalarValue(
|
| - results.current_page,
|
| - 'WebRTCRendering_percent_out_of_sync',
|
| - '%',
|
| - rendering_stats.percent_out_of_sync,
|
| - important=True,
|
| - description='Percentage of frame which drifted more than 1 VSYNC',
|
| - improvement_direction=improvement_direction.DOWN,
|
| - none_value_reason=none_reason))
|
| -
|
| - # I removed the frame distribution list from stats as it is not a metric,
|
| - # rather it is the underlying data. Also there is no sense of improvement
|
| - # direction for frame distribution.
|
| -
|
| - results.AddValue(scalar.ScalarValue(
|
| - results.current_page,
|
| - 'WebRTCRendering_fps',
|
| - 'fps',
|
| - rendering_stats.fps,
|
| - important=True,
|
| - description='Calculated Frame Rate of video rendering',
|
| - improvement_direction=improvement_direction.UP,
|
| - none_value_reason=none_reason))
|
| -
|
| - results.AddValue(scalar.ScalarValue(
|
| - results.current_page,
|
| - 'WebRTCRendering_smoothness_score',
|
| - '%',
|
| - rendering_stats.smoothness_score,
|
| - important=True,
|
| - description='Smoothness score of rendering',
|
| - improvement_direction=improvement_direction.UP,
|
| - none_value_reason=none_reason))
|
| -
|
| - results.AddValue(scalar.ScalarValue(
|
| - results.current_page,
|
| - 'WebRTCRendering_freezing_score',
|
| - '%',
|
| - rendering_stats.freezing_score,
|
| - important=True,
|
| - description='Freezing score of rendering',
|
| - improvement_direction=improvement_direction.UP,
|
| - none_value_reason=none_reason))
|
| -
|
| - results.AddValue(scalar.ScalarValue(
|
| - results.current_page,
|
| - 'WebRTCRendering_rendering_length_error',
|
| - '%',
|
| - rendering_stats.rendering_length_error,
|
| - important=True,
|
| - description='Rendering length error rate',
|
| - improvement_direction=improvement_direction.DOWN,
|
| - none_value_reason=none_reason))
|
|
|