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

Side by Side Diff: slave/skia_slave_scripts/upload_bench_results_appengine.py

Issue 12785002: Split GenerateBenchGraphs into three build steps (Closed) Base URL: http://skia.googlecode.com/svn/buildbot/
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
borenet 2013/03/12 12:15:38 SVN-copied from generate_bench_graphs.py.
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """ Generate performance graphs from bench output. """ 6 """ Upload benchmark results to AppEngine.. """
7 7
8 from build_step import BuildStep 8 from build_step import BuildStep
9 from utils import bench_common
10 from utils import shell_utils 9 from utils import shell_utils
11 from utils import sync_bucket_subdir
12 10
13 import errno
14 import os 11 import os
15 import posixpath 12 import skia_vars
16 import sys 13 import sys
17 14
18 15
19 class GenerateBenchGraphs(BuildStep): 16 class UploadBenchResultsToAppengine(BuildStep):
20 def __init__(self, timeout=600, no_output_timeout=600, **kwargs): 17 def __init__(self, timeout=600, no_output_timeout=600, **kwargs):
21 super(GenerateBenchGraphs, self).__init__( 18 super(UploadBenchResultsToAppengine, self).__init__(
22 timeout=timeout, 19 timeout=timeout,
23 no_output_timeout=no_output_timeout, 20 no_output_timeout=no_output_timeout,
24 **kwargs) 21 **kwargs)
25 22
26 def _RunInternal(self, representation): 23 def _RunInternal(self, representation):
27 try:
28 os.makedirs(self._perf_graphs_dir)
29 except OSError as e:
30 if e.errno == errno.EEXIST:
31 pass
32 else:
33 raise e
34 dest_gsbase = (self._args.get('dest_gsbase') or
35 sync_bucket_subdir.DEFAULT_PERFDATA_GS_BASE)
36
37 path_to_bench_graph_svg = os.path.join('bench', 'bench_graph_svg.py') 24 path_to_bench_graph_svg = os.path.join('bench', 'bench_graph_svg.py')
38 path_to_bench_expectations = os.path.join('bench',
39 'bench_expectations.txt')
40 graph_title = 'Bench_Performance_for_%s' % self._builder_name 25 graph_title = 'Bench_Performance_for_%s' % self._builder_name
41 graph_filepath = bench_common.GraphFilePath(self._perf_graphs_dir,
42 self._builder_name,
43 representation)
44 sync_bucket_subdir.SyncBucketSubdir(directory=self._perf_data_dir,
45 dest_gsbase=dest_gsbase,
46 subdir=posixpath.join('perfdata', self._builder_name),
47 do_upload=False,
48 do_download=True,
49 min_download_revision=self._got_revision -
50 bench_common.BENCH_GRAPH_NUM_REVISIONS)
51 26
52 cmd = ['python', path_to_bench_graph_svg, 27 cmd = ['python', path_to_bench_graph_svg,
epoger 2013/03/12 15:58:33 Maybe add comment like this: Run bench_graph_svg
53 '-d', self._perf_data_dir, 28 '-d', self._perf_data_dir,
54 '-e', path_to_bench_expectations, 29 '-r', '-1',
55 '-r', '-%d' % bench_common.BENCH_GRAPH_NUM_REVISIONS, 30 '-f', '-1',
56 '-f', '-%d' % bench_common.BENCH_GRAPH_NUM_REVISIONS,
57 '-x', '%d' % bench_common.BENCH_GRAPH_X,
58 '-y', '%d' % bench_common.BENCH_GRAPH_Y,
59 '-l', graph_title, 31 '-l', graph_title,
60 '-m', representation, 32 '-m', representation,
61 '-o', graph_filepath, 33 '-a', skia_vars.GetGlobalVariable('skia_dashboard_add_point_url'),
62 ] 34 ]
63 if self._builder_name.find('_Win') >= 0: 35 if self._builder_name.find('_Win') >= 0:
64 cmd.extend(['-i', 'c']) # Ignore cpu time for Windows. 36 cmd.extend(['-i', 'c']) # Ignore cpu time for Windows.
65 37
66 shell_utils.Bash(cmd) 38 shell_utils.Bash(cmd)
67 39
68 def _Run(self): 40 def _Run(self):
69 if self._perf_data_dir: 41 if self._perf_data_dir:
70 for rep in ['avg', 'min', 'med', '25th']: 42 for rep in ['avg', 'min', 'med', '25th']:
71 self._RunInternal(rep) 43 self._RunInternal(rep)
72 44
73 45
74 if '__main__' == __name__: 46 if '__main__' == __name__:
75 sys.exit(BuildStep.RunBuildStep(GenerateBenchGraphs)) 47 sys.exit(BuildStep.RunBuildStep(UploadBenchResultsToAppengine))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698