New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 847576 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Support tracking size distribution by component OWNERS in supersize

Project Member Reported by estevenson@chromium.org, May 29 2018

Issue description

We have over 3400 OWNERS files (https://cs.chromium.org/search/?q=file:OWNERS+file:%5Esrc&type=cs) and over 1400 with COMPONENT set (https://cs.chromium.org/search/?q=file:OWNERS+file:%5Esrc+%22%23+COMPONENT:%22&type=cs).

ex: # COMPONENT: Internals>Core

Adding this data to supersize would be really useful for per-milestone growth attribution.

Things to add:
- Add "component" as an attribute to Symbol in https://cs.chromium.org/chromium/src/tools/binary_size/libsupersize/models.py.
- Add WhereHasComponent() and WhereComponentMatches(str) methods
- Add an extra parsing step reachable as part of supersize archive that populates this field for each symbol

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/050f837e45dc982d2531f51ed204eee7f34c0e2d

commit 050f837e45dc982d2531f51ed204eee7f34c0e2d
Author: Tiger Oakes <tigero@google.com>
Date: Tue Jun 12 17:06:54 2018

Added 'component' attribute to symbol and corresponding archive/group code

supersize now tracks data from COMPONENT files for symbols, along with lookups
for that info. The COMPONENT is resolved by checking the directory of the
current file for an OWNERS file. If it is not found there, then the program
moves to the parent directory, and so on, until the root of the file system is
reached.

Bug:  847576 
Change-Id: If0d2ab8936614b4933b6850c082d7f116e40685d
Reviewed-on: https://chromium-review.googlesource.com/1080401
Commit-Queue: Tiger Oakes <tigero@google.com>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566472}
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/archive.py
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/file_format.py
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/integration_test.py
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/main.py
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/models.py
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/Archive.golden
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/Archive_Apk.golden
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/Archive_Elf.golden
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/Archive_OutputDirectory.golden
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/Archive_Pak_Files.golden
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/Console.golden
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/Diff_NullDiff.golden
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/FullDescription.golden
[add] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/OWNERS
[delete] https://crrev.com/0ca1afc05737915dfe5a6ae82cd892459a31ad08/tools/binary_size/libsupersize/testdata/mock_output_directory/build_vars.txt
[add] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/OWNERS
[add] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/OWNERS
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/args.gn
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/build.ninja
[add] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/build_vars.txt
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/elf.begin
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/obj/base/base/page_allocator.o
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/obj/base/base/page_allocator.o.whitelist
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/obj/third_party/WebKit.a
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/obj/third_party/ffmpeg/libffmpeg_internal.a
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/obj/third_party/icu/icuuc/ucnv_ext.o
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/obj/third_party/icu/icuuc/ucnv_ext.o.whitelist
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/size-info/test.apk.jar.info
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/size-info/test.apk.pak.info
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/size-info/test.apk.res.info
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/out/Release/sub.ninja
[add] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/third_party/OWNERS
[add] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/third_party/gvr-android-sdk/OWNERS
[rename] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_source_directory/third_party/gvr-android-sdk/libgvr_shim_static_arm.a
[modify] https://crrev.com/050f837e45dc982d2531f51ed204eee7f34c0e2d/tools/binary_size/libsupersize/testdata/mock_toolchain/mock_nm.py

Comment 2 by tigero@google.com, Jun 12 2018

Status: Fixed (was: Assigned)

Sign in to add a comment