diff options
author | jdduke <jdduke@chromium.org> | 2015-09-28 09:55:35 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-28 16:57:14 +0000 |
commit | 49f9ceeed4bacade3ce7d361642f949deef280e1 (patch) | |
tree | 968db57fa92baf7cf25b2b8dd09b6d0f36d61d02 /tools/perf/benchmarks/smoothness.py | |
parent | 99801a6eafecf0aeef1e82e1241eb06af1f0eae7 (diff) | |
download | chromium_src-49f9ceeed4bacade3ce7d361642f949deef280e1.zip chromium_src-49f9ceeed4bacade3ce7d361642f949deef280e1.tar.gz chromium_src-49f9ceeed4bacade3ce7d361642f949deef280e1.tar.bz2 |
Allow lack of 'first_gesture_scroll_update_latency' in smoothness tests
Not all smoothness benchmarks perform gesture scrolling, for which cases
no 'first_gesture_scroll_update_latency' values are produced. This lack
of value(s) is treated by the dashboard as a failure, which in turn
prevents aggregate metric computation for the corresponding page set.
BUG=534549
Review URL: https://codereview.chromium.org/1367953003
Cr-Commit-Position: refs/heads/master@{#351088}
Diffstat (limited to 'tools/perf/benchmarks/smoothness.py')
-rw-r--r-- | tools/perf/benchmarks/smoothness.py | 118 |
1 files changed, 55 insertions, 63 deletions
diff --git a/tools/perf/benchmarks/smoothness.py b/tools/perf/benchmarks/smoothness.py index 6021c4a..0dd6d9a 100644 --- a/tools/perf/benchmarks/smoothness.py +++ b/tools/perf/benchmarks/smoothness.py @@ -11,12 +11,35 @@ import page_sets.key_silk_cases from telemetry import benchmark -class SmoothnessTop25(perf_benchmark.PerfBenchmark): +class _Smoothness(perf_benchmark.PerfBenchmark): + """Base class for smoothness-based benchmarks.""" + + # Certain smoothness pages do not perform gesture scrolling, in turn yielding + # an empty first_gesture_scroll_update_latency result. Such empty results + # should be ignored, allowing aggregate metrics for that page set. + _PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST = [ + 'http://mobile-news.sandbox.google.com/news/pt0'] + + test = smoothness.Smoothness + + @classmethod + def Name(cls): + return 'smoothness' + + @classmethod + def ValueCanBeAddedPredicate(cls, value, _): + if (value.name == 'first_gesture_scroll_update_latency' and + value.page.url in cls._PAGES_WITHOUT_SCROLL_GESTURE_BLACKLIST and + value.values is None): + return False + return True + + +class SmoothnessTop25(_Smoothness): """Measures rendering statistics while scrolling down the top 25 web pages. http://www.chromium.org/developers/design-documents/rendering-benchmarks """ - test = smoothness.Smoothness page_set = page_sets.Top25SmoothPageSet @classmethod @@ -24,12 +47,11 @@ class SmoothnessTop25(perf_benchmark.PerfBenchmark): return 'smoothness.top_25_smooth' -class SmoothnessToughFiltersCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughFiltersCases(_Smoothness): """Measures frame rate and a variety of other statistics. Uses a selection of pages making use of SVG and CSS Filter Effects. """ - test = smoothness.Smoothness page_set = page_sets.ToughFiltersCasesPageSet @classmethod @@ -37,11 +59,10 @@ class SmoothnessToughFiltersCases(perf_benchmark.PerfBenchmark): return 'smoothness.tough_filters_cases' -class SmoothnessToughPathRenderingCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughPathRenderingCases(_Smoothness): """Tests a selection of pages with SVG and 2D Canvas paths. Measures frame rate and a variety of other statistics. """ - test = smoothness.Smoothness page_set = page_sets.ToughPathRenderingCasesPageSet @classmethod @@ -50,12 +71,11 @@ class SmoothnessToughPathRenderingCases(perf_benchmark.PerfBenchmark): @benchmark.Disabled('android') # crbug.com/526901 -class SmoothnessToughCanvasCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughCanvasCases(_Smoothness): """Measures frame rate and a variety of other statistics. Uses a selection of pages making use of the 2D Canvas API. """ - test = smoothness.Smoothness page_set = page_sets.ToughCanvasCasesPageSet @classmethod @@ -64,8 +84,7 @@ class SmoothnessToughCanvasCases(perf_benchmark.PerfBenchmark): @benchmark.Disabled('android') # crbug.com/373812 -class SmoothnessToughWebGLCases(perf_benchmark.PerfBenchmark): - test = smoothness.Smoothness +class SmoothnessToughWebGLCases(_Smoothness): page_set = page_sets.ToughWebglCasesPageSet @classmethod @@ -83,8 +102,7 @@ class SmoothnessMaps(perf_benchmark.PerfBenchmark): @benchmark.Disabled('android') -class SmoothnessKeyDesktopMoveCases(perf_benchmark.PerfBenchmark): - test = smoothness.Smoothness +class SmoothnessKeyDesktopMoveCases(_Smoothness): page_set = page_sets.KeyDesktopMoveCasesPageSet @classmethod @@ -93,12 +111,11 @@ class SmoothnessKeyDesktopMoveCases(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessKeyMobileSites(perf_benchmark.PerfBenchmark): +class SmoothnessKeyMobileSites(_Smoothness): """Measures rendering statistics while scrolling down the key mobile sites. http://www.chromium.org/developers/design-documents/rendering-benchmarks """ - test = smoothness.Smoothness page_set = page_sets.KeyMobileSitesSmoothPageSet @classmethod @@ -106,7 +123,7 @@ class SmoothnessKeyMobileSites(perf_benchmark.PerfBenchmark): return 'smoothness.key_mobile_sites_smooth' -class SmoothnessToughAnimationCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughAnimationCases(_Smoothness): test = smoothness.SmoothnessWithRestart page_set = page_sets.ToughAnimationCasesPageSet @@ -116,11 +133,10 @@ class SmoothnessToughAnimationCases(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessKeySilkCases(perf_benchmark.PerfBenchmark): +class SmoothnessKeySilkCases(_Smoothness): """Measures rendering statistics for the key silk cases without GPU rasterization. """ - test = smoothness.Smoothness page_set = page_sets.KeySilkCasesPageSet @classmethod @@ -138,11 +154,10 @@ class SmoothnessKeySilkCases(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessGpuRasterizationTop25(perf_benchmark.PerfBenchmark): +class SmoothnessGpuRasterizationTop25(_Smoothness): """Measures rendering statistics for the top 25 with GPU rasterization. """ tag = 'gpu_rasterization' - test = smoothness.Smoothness page_set = page_sets.Top25SmoothPageSet def SetExtraBrowserOptions(self, options): @@ -154,12 +169,11 @@ class SmoothnessGpuRasterizationTop25(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessGpuRasterizationKeyMobileSites(perf_benchmark.PerfBenchmark): +class SmoothnessGpuRasterizationKeyMobileSites(_Smoothness): """Measures rendering statistics for the key mobile sites with GPU rasterization. """ tag = 'gpu_rasterization' - test = smoothness.Smoothness page_set = page_sets.KeyMobileSitesSmoothPageSet def SetExtraBrowserOptions(self, options): @@ -170,13 +184,11 @@ class SmoothnessGpuRasterizationKeyMobileSites(perf_benchmark.PerfBenchmark): return 'smoothness.gpu_rasterization.key_mobile_sites_smooth' -class SmoothnessGpuRasterizationToughPathRenderingCases( - perf_benchmark.PerfBenchmark): +class SmoothnessGpuRasterizationToughPathRenderingCases(_Smoothness): """Tests a selection of pages with SVG and 2D canvas paths with GPU rasterization. """ tag = 'gpu_rasterization' - test = smoothness.Smoothness page_set = page_sets.ToughPathRenderingCasesPageSet def SetExtraBrowserOptions(self, options): @@ -187,12 +199,11 @@ class SmoothnessGpuRasterizationToughPathRenderingCases( return 'smoothness.gpu_rasterization.tough_path_rendering_cases' -class SmoothnessGpuRasterizationFiltersCases(perf_benchmark.PerfBenchmark): +class SmoothnessGpuRasterizationFiltersCases(_Smoothness): """Tests a selection of pages with SVG and CSS filter effects with GPU rasterization. """ tag = 'gpu_rasterization' - test = smoothness.Smoothness page_set = page_sets.ToughFiltersCasesPageSet def SetExtraBrowserOptions(self, options): @@ -204,12 +215,11 @@ class SmoothnessGpuRasterizationFiltersCases(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessSyncScrollKeyMobileSites(perf_benchmark.PerfBenchmark): +class SmoothnessSyncScrollKeyMobileSites(_Smoothness): """Measures rendering statistics for the key mobile sites with synchronous (main thread) scrolling. """ tag = 'sync_scroll' - test = smoothness.Smoothness page_set = page_sets.KeyMobileSitesSmoothPageSet def SetExtraBrowserOptions(self, options): @@ -221,10 +231,9 @@ class SmoothnessSyncScrollKeyMobileSites(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessSimpleMobilePages(perf_benchmark.PerfBenchmark): +class SmoothnessSimpleMobilePages(_Smoothness): """Measures rendering statistics for simple mobile sites page set. """ - test = smoothness.Smoothness page_set = page_sets.SimpleMobileSitesPageSet @classmethod @@ -233,10 +242,9 @@ class SmoothnessSimpleMobilePages(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessFlingSimpleMobilePages(perf_benchmark.PerfBenchmark): +class SmoothnessFlingSimpleMobilePages(_Smoothness): """Measures rendering statistics for flinging a simple mobile sites page set. """ - test = smoothness.Smoothness page_set = page_sets.SimpleMobileSitesFlingPageSet def SetExtraBrowserOptions(self, options): @@ -251,11 +259,10 @@ class SmoothnessFlingSimpleMobilePages(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android', 'chromeos', 'mac') -class SmoothnessToughPinchZoomCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughPinchZoomCases(_Smoothness): """Measures rendering statistics for pinch-zooming into the tough pinch zoom cases. """ - test = smoothness.Smoothness page_set = page_sets.ToughPinchZoomCasesPageSet @classmethod @@ -264,9 +271,8 @@ class SmoothnessToughPinchZoomCases(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android', 'chromeos') -class SmoothnessToughScrollingWhileZoomedInCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughScrollingWhileZoomedInCases(_Smoothness): """Measures rendering statistics for pinch-zooming then diagonal scrolling""" - test = smoothness.Smoothness page_set = page_sets.ToughScrollingWhileZoomedInCasesPageSet @classmethod @@ -275,10 +281,9 @@ class SmoothnessToughScrollingWhileZoomedInCases(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessPolymer(perf_benchmark.PerfBenchmark): +class SmoothnessPolymer(_Smoothness): """Measures rendering statistics for Polymer cases. """ - test = smoothness.Smoothness page_set = page_sets.PolymerPageSet @classmethod @@ -287,11 +292,10 @@ class SmoothnessPolymer(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessGpuRasterizationPolymer(perf_benchmark.PerfBenchmark): +class SmoothnessGpuRasterizationPolymer(_Smoothness): """Measures rendering statistics for the Polymer cases with GPU rasterization. """ tag = 'gpu_rasterization' - test = smoothness.Smoothness page_set = page_sets.PolymerPageSet def SetExtraBrowserOptions(self, options): @@ -302,8 +306,7 @@ class SmoothnessGpuRasterizationPolymer(perf_benchmark.PerfBenchmark): return 'smoothness.gpu_rasterization.polymer' -class SmoothnessToughScrollingCases(perf_benchmark.PerfBenchmark): - test = smoothness.Smoothness +class SmoothnessToughScrollingCases(_Smoothness): page_set = page_sets.ToughScrollingCasesPageSet @classmethod @@ -311,8 +314,7 @@ class SmoothnessToughScrollingCases(perf_benchmark.PerfBenchmark): return 'smoothness.tough_scrolling_cases' @benchmark.Disabled('android') # http://crbug.com/531593 -class SmoothnessToughImageDecodeCases(perf_benchmark.PerfBenchmark): - test = smoothness.Smoothness +class SmoothnessToughImageDecodeCases(_Smoothness): page_set = page_sets.ToughImageDecodeCasesPageSet @classmethod @@ -320,10 +322,9 @@ class SmoothnessToughImageDecodeCases(perf_benchmark.PerfBenchmark): return 'smoothness.tough_image_decode_cases' @benchmark.Disabled('android') # http://crbug.com/513699 -class SmoothnessImageDecodingCases(perf_benchmark.PerfBenchmark): +class SmoothnessImageDecodingCases(_Smoothness): """Measures decoding statistics for jpeg images. """ - test = smoothness.Smoothness page_set = page_sets.ImageDecodingCasesPageSet def SetExtraBrowserOptions(self, options): @@ -336,11 +337,10 @@ class SmoothnessImageDecodingCases(perf_benchmark.PerfBenchmark): @benchmark.Disabled('android') # http://crbug.com/513699 -class SmoothnessGpuImageDecodingCases(perf_benchmark.PerfBenchmark): +class SmoothnessGpuImageDecodingCases(_Smoothness): """Measures decoding statistics for jpeg images with GPU rasterization. """ tag = 'gpu_rasterization_and_decoding' - test = smoothness.Smoothness page_set = page_sets.ImageDecodingCasesPageSet def SetExtraBrowserOptions(self, options): @@ -354,10 +354,9 @@ class SmoothnessGpuImageDecodingCases(perf_benchmark.PerfBenchmark): @benchmark.Enabled('android') -class SmoothnessPathologicalMobileSites(perf_benchmark.PerfBenchmark): +class SmoothnessPathologicalMobileSites(_Smoothness): """Measures task execution statistics while scrolling pathological sites. """ - test = smoothness.Smoothness page_set = page_sets.PathologicalMobileSitesPageSet @classmethod @@ -365,8 +364,7 @@ class SmoothnessPathologicalMobileSites(perf_benchmark.PerfBenchmark): return 'smoothness.pathological_mobile_sites' -class SmoothnessToughAnimatedImageCases(perf_benchmark.PerfBenchmark): - test = smoothness.Smoothness +class SmoothnessToughAnimatedImageCases(_Smoothness): page_set = page_sets.ToughAnimatedImageCasesPageSet @classmethod @@ -375,8 +373,7 @@ class SmoothnessToughAnimatedImageCases(perf_benchmark.PerfBenchmark): @benchmark.Disabled('reference') # http://crbug.com/499489 -class SmoothnessToughTextureUploadCases(perf_benchmark.PerfBenchmark): - test = smoothness.Smoothness +class SmoothnessToughTextureUploadCases(_Smoothness): page_set = page_sets.ToughTextureUploadCasesPageSet @classmethod @@ -385,9 +382,8 @@ class SmoothnessToughTextureUploadCases(perf_benchmark.PerfBenchmark): @benchmark.Disabled('reference') # http://crbug.com/496684 -class SmoothnessToughAdCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughAdCases(_Smoothness): """Measures rendering statistics while displaying advertisements.""" - test = smoothness.Smoothness page_set = page_sets.ToughAdCasesPageSet @classmethod @@ -398,9 +394,8 @@ class SmoothnessToughAdCases(perf_benchmark.PerfBenchmark): # http://crbug.com/496684 (reference) # http://crbug.com/522619 (mac/win) @benchmark.Disabled('reference', 'win', 'mac') -class SmoothnessScrollingToughAdCases(perf_benchmark.PerfBenchmark): +class SmoothnessScrollingToughAdCases(_Smoothness): """Measures rendering statistics while scrolling advertisements.""" - test = smoothness.Smoothness page_set = page_sets.ScrollingToughAdCasesPageSet @classmethod @@ -411,10 +406,8 @@ class SmoothnessScrollingToughAdCases(perf_benchmark.PerfBenchmark): # http://crbug.com/496684 (reference) # http://crbug.com/522619 (mac/win) @benchmark.Disabled('reference', 'win', 'mac') -class SmoothnessBidirectionallyScrollingToughAdCases( - perf_benchmark.PerfBenchmark): +class SmoothnessBidirectionallyScrollingToughAdCases(_Smoothness): """Measures rendering statistics while scrolling advertisements.""" - test = smoothness.Smoothness page_set = page_sets.BidirectionallyScrollingToughAdCasesPageSet def SetExtraBrowserOptions(self, options): @@ -427,9 +420,8 @@ class SmoothnessBidirectionallyScrollingToughAdCases( @benchmark.Disabled('reference') # http://crbug.com/496684 -class SmoothnessToughWebGLAdCases(perf_benchmark.PerfBenchmark): +class SmoothnessToughWebGLAdCases(_Smoothness): """Measures rendering statistics while scrolling advertisements.""" - test = smoothness.Smoothness page_set = page_sets.ToughWebglAdCasesPageSet @classmethod |