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

Side by Side Diff: tools/binary_size/libsupersize/archive.py

Issue 2881563003: supersize: Make Disassemble() work for downloaded .size files (Closed)
Patch Set: self-review Created 3 years, 7 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 # Copyright 2017 The Chromium Authors. All rights reserved. 1 # Copyright 2017 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 """Main Python API for analyzing binary size.""" 5 """Main Python API for analyzing binary size."""
6 6
7 import argparse 7 import argparse
8 import calendar 8 import calendar
9 import collections 9 import collections
10 import datetime 10 import datetime
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 def CreateMetadata(map_path, elf_path, apk_path, tool_prefix, output_directory): 375 def CreateMetadata(map_path, elf_path, apk_path, tool_prefix, output_directory):
376 metadata = None 376 metadata = None
377 if elf_path: 377 if elf_path:
378 logging.debug('Constructing metadata') 378 logging.debug('Constructing metadata')
379 git_rev = _DetectGitRevision(os.path.dirname(elf_path)) 379 git_rev = _DetectGitRevision(os.path.dirname(elf_path))
380 architecture = _ArchFromElf(elf_path, tool_prefix) 380 architecture = _ArchFromElf(elf_path, tool_prefix)
381 build_id = BuildIdFromElf(elf_path, tool_prefix) 381 build_id = BuildIdFromElf(elf_path, tool_prefix)
382 timestamp_obj = datetime.datetime.utcfromtimestamp(os.path.getmtime( 382 timestamp_obj = datetime.datetime.utcfromtimestamp(os.path.getmtime(
383 elf_path)) 383 elf_path))
384 timestamp = calendar.timegm(timestamp_obj.timetuple()) 384 timestamp = calendar.timegm(timestamp_obj.timetuple())
385 relative_tool_prefix = paths.ToSrcRootRelative(tool_prefix)
385 386
386 metadata = { 387 metadata = {
387 models.METADATA_GIT_REVISION: git_rev, 388 models.METADATA_GIT_REVISION: git_rev,
388 models.METADATA_ELF_ARCHITECTURE: architecture, 389 models.METADATA_ELF_ARCHITECTURE: architecture,
389 models.METADATA_ELF_MTIME: timestamp, 390 models.METADATA_ELF_MTIME: timestamp,
390 models.METADATA_ELF_BUILD_ID: build_id, 391 models.METADATA_ELF_BUILD_ID: build_id,
392 models.METADATA_TOOL_PREFIX: relative_tool_prefix,
391 } 393 }
392 394
393 if output_directory: 395 if output_directory:
394 relative_to_out = lambda path: os.path.relpath(path, output_directory) 396 relative_to_out = lambda path: os.path.relpath(path, output_directory)
395 gn_args = _ParseGnArgs(os.path.join(output_directory, 'args.gn')) 397 gn_args = _ParseGnArgs(os.path.join(output_directory, 'args.gn'))
396 metadata[models.METADATA_MAP_FILENAME] = relative_to_out(map_path) 398 metadata[models.METADATA_MAP_FILENAME] = relative_to_out(map_path)
397 metadata[models.METADATA_ELF_FILENAME] = relative_to_out(elf_path) 399 metadata[models.METADATA_ELF_FILENAME] = relative_to_out(elf_path)
398 metadata[models.METADATA_GN_ARGS] = gn_args 400 metadata[models.METADATA_GN_ARGS] = gn_args
399 401
400 if apk_path: 402 if apk_path:
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 logging.warning('Packed section not present: %s', packed_section_name) 692 logging.warning('Packed section not present: %s', packed_section_name)
691 else: 693 else:
692 size_info.section_sizes['%s (unpacked)' % packed_section_name] = ( 694 size_info.section_sizes['%s (unpacked)' % packed_section_name] = (
693 unstripped_section_sizes.get(packed_section_name)) 695 unstripped_section_sizes.get(packed_section_name))
694 696
695 logging.info('Recording metadata: \n %s', 697 logging.info('Recording metadata: \n %s',
696 '\n '.join(describe.DescribeMetadata(size_info.metadata))) 698 '\n '.join(describe.DescribeMetadata(size_info.metadata)))
697 logging.info('Saving result to %s', args.size_file) 699 logging.info('Saving result to %s', args.size_file)
698 file_format.SaveSizeInfo(size_info, args.size_file) 700 file_format.SaveSizeInfo(size_info, args.size_file)
699 logging.info('Done') 701 logging.info('Done')
OLDNEW
« no previous file with comments | « no previous file | tools/binary_size/libsupersize/console.py » ('j') | tools/binary_size/libsupersize/integration_test.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698