1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from core
import perf_benchmark
7 from telemetry
import benchmark
8 from telemetry
.timeline
import tracing_category_filter
9 from telemetry
.web_perf
import timeline_based_measurement
14 BLOB_CATEGORY
= 'Blob'
15 TIMELINE_REQUIRED_CATEGORY
= 'blink.console'
18 @benchmark.Disabled
# http://crbug.com/510815
19 #@benchmark.Disabled('reference', # http://crbug.com/496155
20 # 'android') # http://crbug.com/499325
21 class BlobStorage(perf_benchmark
.PerfBenchmark
):
22 """Timeline based measurement benchmark for Blob Storage."""
24 page_set
= page_sets
.BlobWorkshopPageSet
26 def CreateTimelineBasedMeasurementOptions(self
):
27 cat_filter
= tracing_category_filter
.CreateMinimalOverheadFilter()
28 cat_filter
.AddIncludedCategory(BLOB_CATEGORY
)
29 cat_filter
.AddIncludedCategory(TIMELINE_REQUIRED_CATEGORY
)
31 return timeline_based_measurement
.Options(
32 overhead_level
=cat_filter
)
36 return 'blob_storage.blob_storage'
39 def ValueCanBeAddedPredicate(cls
, value
, is_first_result
):
40 if ('blob-writes' not in value
.name
and
41 'blob-reads' not in value
.name
):
43 return value
.values
!= None