Index: tools/telemetry/telemetry/web_perf/metrics/blob_timeline.py |
diff --git a/tools/telemetry/telemetry/web_perf/metrics/blob_timeline.py b/tools/telemetry/telemetry/web_perf/metrics/blob_timeline.py |
deleted file mode 100644 |
index db81f699854978083690c4b88e88fe7849fe2fd4..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/web_perf/metrics/blob_timeline.py |
+++ /dev/null |
@@ -1,117 +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 improvement_direction |
-from telemetry.value import list_of_scalar_values |
-from telemetry.web_perf.metrics import timeline_based_metric |
- |
- |
-WRITE_EVENT_NAME = 'Registry::RegisterBlob' |
-READ_EVENT_NAME = 'BlobRequest' |
- |
- |
-class BlobTimelineMetric(timeline_based_metric.TimelineBasedMetric): |
- """BlobTimelineMetric reports timing information about blob storage. |
- |
- The following metrics are added to the results: |
- * blob write times (blob_writes) |
- * blob read times (blob_reads) |
- """ |
- |
- def __init__(self): |
- super(BlobTimelineMetric, self).__init__() |
- |
- @staticmethod |
- def IsWriteEvent(event): |
- return event.name == WRITE_EVENT_NAME |
- |
- @staticmethod |
- def IsReadEvent(event): |
- return event.name == READ_EVENT_NAME |
- |
- @staticmethod |
- def IsEventInInteraction(event, interaction): |
- return interaction.start <= event.start <= interaction.end |
- |
- @staticmethod |
- def ThreadDurationIfPresent(event): |
- if event.thread_duration: |
- return event.thread_duration |
- else: |
- return event.duration |
- |
- def AddResults(self, model, renderer_thread, interactions, results): |
- assert interactions |
- |
- write_events = [] |
- read_events = [] |
- for event in model.IterAllEvents( |
- event_predicate=lambda e: self.IsWriteEvent(e) or self.IsReadEvent(e)): |
- if self.IsReadEvent(event): |
- read_events.append(event) |
- else: |
- write_events.append(event) |
- |
- # Only these private methods are tested for mocking simplicity. |
- self._AddWriteResultsInternal(write_events, interactions, results) |
- self._AddReadResultsInternal(read_events, interactions, results) |
- |
- def _AddWriteResultsInternal(self, events, interactions, results): |
- writes = [] |
- for event in events: |
- if (self.IsWriteEvent(event) and |
- any(self.IsEventInInteraction(event, interaction) |
- for interaction in interactions)): |
- writes.append(self.ThreadDurationIfPresent(event)) |
- if writes: |
- results.AddValue(list_of_scalar_values.ListOfScalarValues( |
- page=results.current_page, |
- tir_label=interactions[0].label, |
- name='blob-writes', |
- units='ms', |
- values=writes, |
- description='List of durations of blob writes.', |
- improvement_direction=improvement_direction.DOWN)) |
- else: |
- results.AddValue(list_of_scalar_values.ListOfScalarValues( |
- page=results.current_page, |
- tir_label=interactions[0].label, |
- name='blob-writes', |
- units='ms', |
- values=None, |
- none_value_reason='No blob write events found for this interaction.', |
- improvement_direction=improvement_direction.DOWN)) |
- |
- def _AddReadResultsInternal(self, events, interactions, results): |
- reads = dict() |
- for event in events: |
- if (not self.IsReadEvent(event) or |
- not any(self.IsEventInInteraction(event, interaction) |
- for interaction in interactions)): |
- continue |
- # Every blob has unique UUID. To get the total time for reading |
- # a blob, we add up the time of all events with the same blob UUID. |
- uuid = event.args['uuid'] |
- if uuid not in reads: |
- reads[uuid] = 0 |
- reads[uuid] += self.ThreadDurationIfPresent(event) |
- |
- if reads: |
- results.AddValue(list_of_scalar_values.ListOfScalarValues( |
- page=results.current_page, |
- tir_label=interactions[0].label, |
- name='blob-reads', |
- units='ms', |
- values=reads.values(), |
- description='List of read times for blobs.', |
- improvement_direction=improvement_direction.DOWN)) |
- else: |
- results.AddValue(list_of_scalar_values.ListOfScalarValues( |
- page=results.current_page, |
- tir_label=interactions[0].label, |
- name='blob-reads', |
- units='ms', |
- values=None, |
- none_value_reason='No blob read events found for this interaction.', |
- improvement_direction=improvement_direction.DOWN)) |