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

Side by Side Diff: infra/bots/recipe_modules/skia/resources/run_binary_size_analysis.py

Issue 2187603005: Fix Perf data upload (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Remove uses of common.skia Created 4 years, 4 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 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 a spatial analysis against an arbitrary library. 6 """Generate a spatial analysis against an arbitrary library.
7 7
8 Adapted for Skia's use case from 8 Adapted for Skia's use case from
9 chromium/src/tools/binary_size/run_binary_size_analysis.py. Main changes: 9 chromium/src/tools/binary_size/run_binary_size_analysis.py. Main changes:
10 10
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 import sys 88 import sys
89 import tempfile 89 import tempfile
90 import time 90 import time
91 import urllib2 91 import urllib2
92 92
93 import binary_size_utils 93 import binary_size_utils
94 import elf_symbolizer 94 import elf_symbolizer
95 95
96 from recipe_engine.types import freeze 96 from recipe_engine.types import freeze
97 97
98 # Skia addition
99 from common.skia import global_constants
100
101 # Node dictionary keys. These are output in json read by the webapp so 98 # Node dictionary keys. These are output in json read by the webapp so
102 # keep them short to save file size. 99 # keep them short to save file size.
103 # Note: If these change, the webapp must also change. 100 # Note: If these change, the webapp must also change.
104 NODE_TYPE_KEY = 'k' 101 NODE_TYPE_KEY = 'k'
105 NODE_NAME_KEY = 'n' 102 NODE_NAME_KEY = 'n'
106 NODE_CHILDREN_KEY = 'children' 103 NODE_CHILDREN_KEY = 'children'
107 NODE_SYMBOL_TYPE_KEY = 't' 104 NODE_SYMBOL_TYPE_KEY = 't'
108 NODE_SYMBOL_SIZE_KEY = 'value' 105 NODE_SYMBOL_SIZE_KEY = 'value'
109 NODE_MAX_DEPTH_KEY = 'maxDepth' 106 NODE_MAX_DEPTH_KEY = 'maxDepth'
110 NODE_LAST_PATH_ELEMENT_KEY = 'lastPathElement' 107 NODE_LAST_PATH_ELEMENT_KEY = 'lastPathElement'
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 json_data = {'tree_data': tree_root, 328 json_data = {'tree_data': tree_root,
332 'githash': ha, 329 'githash': ha,
333 'commit_ts': ts, 330 'commit_ts': ts,
334 'key': {'source_type': 'binary_size'}, 331 'key': {'source_type': 'binary_size'},
335 'total_size': sum(GetTreeSizes(tree_root).values()),} 332 'total_size': sum(GetTreeSizes(tree_root).values()),}
336 tmpfile = tempfile.NamedTemporaryFile(delete=False).name 333 tmpfile = tempfile.NamedTemporaryFile(delete=False).name
337 with open(tmpfile, 'w') as out: 334 with open(tmpfile, 'w') as out:
338 # Use separators without whitespace to get a smaller file. 335 # Use separators without whitespace to get a smaller file.
339 json.dump(json_data, out, separators=(',', ':')) 336 json.dump(json_data, out, separators=(',', ':'))
340 337
341 GS_PREFIX = 'gs://' + global_constants.GS_GM_BUCKET + '/' 338 GS_PREFIX = 'gs://chromium-skia-gm/'
342 # Writes to Google Storage for visualization. 339 # Writes to Google Storage for visualization.
343 subprocess.check_call(GetGsCopyCommandList( 340 subprocess.check_call(GetGsCopyCommandList(
344 gsutil, tmpfile, GS_PREFIX + 'size/' + ha + '.json')) 341 gsutil, tmpfile, GS_PREFIX + 'size/' + ha + '.json'))
345 # Updates the latest data. 342 # Updates the latest data.
346 if not issue: 343 if not issue:
347 subprocess.check_call(GetGsCopyCommandList(gsutil, tmpfile, 344 subprocess.check_call(GetGsCopyCommandList(gsutil, tmpfile,
348 GS_PREFIX + 'size/latest.json')) 345 GS_PREFIX + 'size/latest.json'))
349 # Writes an extra copy using year/month/day/hour path for easy ingestion. 346 # Writes an extra copy using year/month/day/hour path for easy ingestion.
350 with open(tmpfile, 'w') as out: 347 with open(tmpfile, 'w') as out:
351 json.dump(GetBenchDict(ha, tree_root), out, separators=(',', ':')) 348 json.dump(GetBenchDict(ha, tree_root), out, separators=(',', ':'))
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
811 else: 808 else:
812 # Just a guess. Hopefully all paths in the input file are absolute. 809 # Just a guess. Hopefully all paths in the input file are absolute.
813 symbol_path_origin_dir = os.path.abspath(os.getcwd()) 810 symbol_path_origin_dir = os.path.abspath(os.getcwd())
814 DumpCompactTree(symbols, symbol_path_origin_dir, opts.githash, 811 DumpCompactTree(symbols, symbol_path_origin_dir, opts.githash,
815 opts.commit_ts, opts.issue_number, opts.gsutil_path) 812 opts.commit_ts, opts.issue_number, opts.gsutil_path)
816 print 'Report data uploaded to GS.' 813 print 'Report data uploaded to GS.'
817 814
818 815
819 if __name__ == '__main__': 816 if __name__ == '__main__':
820 sys.exit(main()) 817 sys.exit(main())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698