thread_times.py revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# found in the LICENSE file.
45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)from benchmarks import silk_flags
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)from measurements import thread_times
7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)import page_sets
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom telemetry import benchmark
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android')
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ThreadTimesKeySilkCases(benchmark.Benchmark):
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  """Measures timeline metrics while performing smoothness action on key silk
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  cases."""
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  test = thread_times.ThreadTimes
16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.KeySilkCasesPageSet
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  options = {"report_silk_results": True}
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android')
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ThreadTimesFastPathKeySilkCases(benchmark.Benchmark):
22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  """Measures timeline metrics while performing smoothness action on key silk
23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  cases using bleeding edge rendering fast paths."""
24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  tag = 'fast_path'
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  test = thread_times.ThreadTimes
26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.KeySilkCasesPageSet
27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  options = {"report_silk_results": True}
28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  def CustomizeBrowserOptions(self, options):
29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    silk_flags.CustomizeBrowserOptionsForFastPath(options)
30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Disabled
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class LegacySilkBenchmark(ThreadTimesKeySilkCases):
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  """Same as thread_times.key_silk_cases but with the old name."""
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  @classmethod
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  def GetName(cls):
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    return "silk.key_silk_cases"
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci@benchmark.Enabled('android')
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ThreadTimesFastPathMobileSites(benchmark.Benchmark):
425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  """Measures timeline metrics while performing smoothness action on
435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  key mobile sites labeled with fast-path tag.
445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  http://www.chromium.org/developers/design-documents/rendering-benchmarks"""
455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  test = thread_times.ThreadTimes
46f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.KeyMobileSitesPageSet
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  options = {'page_label_filter' : 'fastpath'}
485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
496e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)
506e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)@benchmark.Disabled  # crbug.com/400922
515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class ThreadTimesSimpleMobileSites(benchmark.Benchmark):
525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  """Measures timeline metric using smoothness action on simple mobile sites
535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  http://www.chromium.org/developers/design-documents/rendering-benchmarks"""
545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  test = thread_times.ThreadTimes
555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  page_set = page_sets.SimpleMobileSitesPageSet
565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
58116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ThreadTimesCompositorCases(benchmark.Benchmark):
59cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  """Measures timeline metrics while performing smoothness action on
601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  tough compositor cases, using software rasterization.
611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  http://www.chromium.org/developers/design-documents/rendering-benchmarks"""
63cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  test = thread_times.ThreadTimes
64f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.ToughCompositorCasesPageSet
651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  def CustomizeBrowserOptions(self, options):
661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    silk_flags.CustomizeBrowserOptionsForSoftwareRasterization(options)
675c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
68116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch@benchmark.Enabled('android')
69116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ThreadTimesPolymer(benchmark.Benchmark):
705c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  """Measures timeline metrics while performing smoothness action on
715c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  Polymer cases."""
725c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu  test = thread_times.ThreadTimes
73f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)  page_set = page_sets.PolymerPageSet
74010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  options = { 'report_silk_results': True }
75