Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Side by Side Diff: telemetry/telemetry/internal/story_runner.py

Issue 2656493002: Register metric Histogram names. (Closed)
Patch Set: rebase Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | telemetry/telemetry/web_perf/timeline_based_measurement.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import logging 5 import logging
6 import optparse 6 import optparse
7 import os 7 import os
8 import subprocess 8 import subprocess
9 import sys 9 import sys
10 import time 10 import time
11 11
12 import py_utils 12 import py_utils
13 from py_utils import cloud_storage # pylint: disable=import-error 13 from py_utils import cloud_storage # pylint: disable=import-error
14 14
15 from telemetry.core import exceptions 15 from telemetry.core import exceptions
16 from telemetry import decorators 16 from telemetry import decorators
17 from telemetry.internal.actions import page_action 17 from telemetry.internal.actions import page_action
18 from telemetry.internal.browser import browser_finder 18 from telemetry.internal.browser import browser_finder
19 from telemetry.internal.results import results_options 19 from telemetry.internal.results import results_options
20 from telemetry.internal.util import exception_formatter 20 from telemetry.internal.util import exception_formatter
21 from telemetry import page 21 from telemetry import page
22 from telemetry.page import legacy_page_test 22 from telemetry.page import legacy_page_test
23 from telemetry import story as story_module 23 from telemetry import story as story_module
24 from telemetry.util import wpr_modes 24 from telemetry.util import wpr_modes
25 from telemetry.value import failure 25 from telemetry.value import failure
26 from telemetry.value import skip 26 from telemetry.value import skip
27 from telemetry.web_perf import story_test 27 from telemetry.web_perf import story_test
28 28
29 from tracing.metrics import all_histogram_names
30
29 31
30 class ArchiveError(Exception): 32 class ArchiveError(Exception):
31 pass 33 pass
32 34
33 35
34 def AddCommandLineArgs(parser): 36 def AddCommandLineArgs(parser):
35 story_module.StoryFilter.AddCommandLineArgs(parser) 37 story_module.StoryFilter.AddCommandLineArgs(parser)
36 results_options.AddResultsOptions(parser) 38 results_options.AddResultsOptions(parser)
37 39
38 # Page set options 40 # Page set options
(...skipping 23 matching lines...) Expand all
62 story_module.StoryFilter.ProcessCommandLineArgs(parser, args) 64 story_module.StoryFilter.ProcessCommandLineArgs(parser, args)
63 results_options.ProcessCommandLineArgs(parser, args) 65 results_options.ProcessCommandLineArgs(parser, args)
64 66
65 if args.pageset_repeat < 1: 67 if args.pageset_repeat < 1:
66 parser.error('--pageset-repeat must be a positive integer.') 68 parser.error('--pageset-repeat must be a positive integer.')
67 69
68 70
69 def _RunStoryAndProcessErrorIfNeeded(story, results, state, test): 71 def _RunStoryAndProcessErrorIfNeeded(story, results, state, test):
70 def ProcessError(description=None): 72 def ProcessError(description=None):
71 state.DumpStateUponFailure(story, results) 73 state.DumpStateUponFailure(story, results)
72 results.AddValue(failure.FailureValue(story, sys.exc_info(), description)) 74 if test.GetTimelineBasedMetrics():
75 for unused_name in all_histogram_names.AllHistogramNames(
76 test.GetTimelineBasedMetrics()):
77 pass # TODO(benjhayden): Synthesize Failure Histograms here.
78 else:
79 results.AddValue(failure.FailureValue(story, sys.exc_info(), description))
80
73 try: 81 try:
74 # TODO(mikecase): Remove this logging once Android perf bots are swarmed. 82 # TODO(mikecase): Remove this logging once Android perf bots are swarmed.
75 # crbug.com/678282 83 # crbug.com/678282
76 if state.platform.GetOSName() == 'android': 84 if state.platform.GetOSName() == 'android':
77 state.platform._platform_backend.Log( 85 state.platform._platform_backend.Log(
78 'START %s' % (story.name if story.name else str(story))) 86 'START %s' % (story.name if story.name else str(story)))
79 if isinstance(test, story_test.StoryTest): 87 if isinstance(test, story_test.StoryTest):
80 test.WillRunStory(state.platform) 88 test.WillRunStory(state.platform)
81 state.WillRunStory(story) 89 state.WillRunStory(story)
82 if not state.CanRunStory(story): 90 if not state.CanRunStory(story):
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 logging.warning('Device is thermally throttled before running ' 466 logging.warning('Device is thermally throttled before running '
459 'performance tests, results will vary.') 467 'performance tests, results will vary.')
460 468
461 469
462 def _CheckThermalThrottling(platform): 470 def _CheckThermalThrottling(platform):
463 if not platform.CanMonitorThermalThrottling(): 471 if not platform.CanMonitorThermalThrottling():
464 return 472 return
465 if platform.HasBeenThermallyThrottled(): 473 if platform.HasBeenThermallyThrottled():
466 logging.warning('Device has been thermally throttled during ' 474 logging.warning('Device has been thermally throttled during '
467 'performance tests, results will vary.') 475 'performance tests, results will vary.')
OLDNEW
« no previous file with comments | « no previous file | telemetry/telemetry/web_perf/timeline_based_measurement.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698