| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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') |
| OLD | NEW |