Refactor code coverage scripts used on the coverage bot |
||
Issue descriptionI've just performed yet another experiment and found out likely a better approach to be used on the bot: 1) after running each target, merge .profraw dumps into a .profdata file ( issue 826305 ). Log any warnings / errors encountered on this step. 2) merge .profdata files one by one, rather then passing them all together to llvm-profdata merge command. Log any warnings / errors encountered on this step. Profdata sample sizes: my current approach: 571,637,624 bytes merge in a single command: 546,677,912 bytes merge one by one: 571,637,400 bytes That approach will minimize potential destructive impact of any warnings or problematic targets.
,
Apr 25 2018
One more thing needs to be added: add a build log to metadata directory: https://bugs.chromium.org/p/chromium/issues/detail?id=829116#c8
,
Apr 25 2018
Another idea suggested by Abhishek in https://chrome-internal-review.googlesource.com/c/chrome/tools/code-coverage/+/614427/4/scripts/code_coverage_loop.sh remove "chrome" subdirectory from the bucket structure.
,
Apr 26 2018
Some extra information related to the issue description. 1) Report generated using my current approach: https://chrome-coverage.storage.googleapis.com/chrome/552863/index.html 2) Report generated after merging all the dumps in a single command: https://chromium-coverage.storage.googleapis.com/random_reports/552863_report_everything_by_one/index.html 3) Report generated using the proposed approach: https://chromium-coverage.storage.googleapis.com/random_reports/552863_report_merge_by_one/index.html 2 is obviously not an option, 1 and 3 have a difference in one function (5 lines of code): https://chrome-coverage.storage.googleapis.com/chrome/552863/coverage/mnt/ram-disk/chromium/src/third_party/webrtc_overrides/init_webrtc.cc.html#L54 vs https://chromium-coverage.storage.googleapis.com/random_reports/552863_report_merge_by_one/coverage/mnt/ram-disk/chromium/src/third_party/webrtc_overrides/init_webrtc.cc.html#L54 It is not covered in both cases though.
,
Apr 26 2018
A few more points suggested in https://chrome-internal-review.googlesource.com/c/chrome/tools/code-coverage/+/614427/4/scripts/README.md#23: 1) remove "chrome" from script names 2) use "tests" instead of "unittests" as there are not only unittests
,
Apr 27 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/3c193a47902fb4b3340a11300c486a6893d4fecc commit 3c193a47902fb4b3340a11300c486a6893d4fecc Author: Max Moroz <mmoroz@google.com> Date: Fri Apr 27 21:44:26 2018
,
Apr 30 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/9281b191858db58ab663f98520878e02a2557bfb commit 9281b191858db58ab663f98520878e02a2557bfb Author: Max Moroz <mmoroz@google.com> Date: Mon Apr 30 19:47:00 2018
,
May 1 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/8d0d877e3b715e3459df679c9ffa7babb4551892 commit 8d0d877e3b715e3459df679c9ffa7babb4551892 Author: Max Moroz <mmoroz@google.com> Date: Tue May 01 16:19:48 2018
,
May 1 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/ddcb5d015648da15e86cf17255437f7a303eef3c commit ddcb5d015648da15e86cf17255437f7a303eef3c Author: Max Moroz <mmoroz@google.com> Date: Tue May 01 19:28:03 2018
,
May 1 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/ad5818ec570b38f68c07486ecc1054bdf7f1cd88 commit ad5818ec570b38f68c07486ecc1054bdf7f1cd88 Author: Max Moroz <mmoroz@google.com> Date: Tue May 01 20:09:15 2018
,
May 2 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/7c62b868d04d23a002468cf4c9fd28b37127982c commit 7c62b868d04d23a002468cf4c9fd28b37127982c Author: Max Moroz <mmoroz@google.com> Date: Wed May 02 03:02:05 2018
,
May 2 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/38de1c5240a2b9f41ed28d96d7205d1f752bbe90 commit 38de1c5240a2b9f41ed28d96d7205d1f752bbe90 Author: Max Moroz <mmoroz@google.com> Date: Wed May 02 17:53:38 2018
,
May 2 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/3736392a1e5f97ab183803a17fdec9c21b22a66a commit 3736392a1e5f97ab183803a17fdec9c21b22a66a Author: Max Moroz <mmoroz@google.com> Date: Wed May 02 22:27:39 2018
,
May 3 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d6e2784fc82a58be71392c674a756e712204a22b commit d6e2784fc82a58be71392c674a756e712204a22b Author: Max Moroz <mmoroz@chromium.org> Date: Thu May 03 03:39:45 2018 [Code Coverage] Use platform name for the root directory instead of 'coverage'. That single-line change would be very helpful for hosting reports at GCS, as it provides a multi-platform dir structure for free. Bug: 836663 Change-Id: Ic9a984360cb352a23ace780d4aa600084be98a36 Reviewed-on: https://chromium-review.googlesource.com/1041282 Reviewed-by: Abhishek Arya <inferno@chromium.org> Commit-Queue: Abhishek Arya <inferno@chromium.org> Cr-Commit-Position: refs/heads/master@{#555664} [modify] https://crrev.com/d6e2784fc82a58be71392c674a756e712204a22b/tools/code_coverage/coverage.py
,
May 3 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9a81f39116506a599bf001cfaf93dad82e796b04 commit 9a81f39116506a599bf001cfaf93dad82e796b04 Author: Max Moroz <mmoroz@chromium.org> Date: Thu May 03 14:04:30 2018 Revert "[Code Coverage] Use platform name for the root directory instead of 'coverage'." This reverts commit d6e2784fc82a58be71392c674a756e712204a22b. Reason for revert: llvm-cov is also using 'coverage' directory, so this change doesn't work well: https://github.com/llvm-mirror/llvm/blob/master/tools/llvm-cov/SourceCoverageView.h#L97 Original change's description: > [Code Coverage] Use platform name for the root directory instead of 'coverage'. > > That single-line change would be very helpful for hosting reports at GCS, as it > provides a multi-platform dir structure for free. > > Bug: 836663 > Change-Id: Ic9a984360cb352a23ace780d4aa600084be98a36 > Reviewed-on: https://chromium-review.googlesource.com/1041282 > Reviewed-by: Abhishek Arya <inferno@chromium.org> > Commit-Queue: Abhishek Arya <inferno@chromium.org> > Cr-Commit-Position: refs/heads/master@{#555664} TBR=inferno@chromium.org,mmoroz@chromium.org,liaoyuke@chromium.org Change-Id: I9812e8dde9ed121a4b379fef336336b7f62508c6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 836663 Reviewed-on: https://chromium-review.googlesource.com/1042465 Reviewed-by: Max Moroz <mmoroz@chromium.org> Commit-Queue: Max Moroz <mmoroz@chromium.org> Cr-Commit-Position: refs/heads/master@{#555716} [modify] https://crrev.com/9a81f39116506a599bf001cfaf93dad82e796b04/tools/code_coverage/coverage.py
,
May 3 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/025d895024e2b6b326b24da484015cfedae144e5 commit 025d895024e2b6b326b24da484015cfedae144e5 Author: Max Moroz <mmoroz@chromium.org> Date: Thu May 03 16:33:34 2018 [Code Coverage] Use platform as a name of the root directory with the report. Bug: 836663 Change-Id: Ia5c37b86624e4ff546130027297a167185f174a4 Reviewed-on: https://chromium-review.googlesource.com/1042374 Commit-Queue: Max Moroz <mmoroz@chromium.org> Reviewed-by: Abhishek Arya <inferno@chromium.org> Reviewed-by: Yuke Liao <liaoyuke@chromium.org> Cr-Commit-Position: refs/heads/master@{#555763} [modify] https://crrev.com/025d895024e2b6b326b24da484015cfedae144e5/tools/code_coverage/coverage.py
,
May 4 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/beb9d7e9987e88c75b955bb8fa3376ad9a2327d4 commit beb9d7e9987e88c75b955bb8fa3376ad9a2327d4 Author: Abhishek Arya <inferno@chromium.org> Date: Fri May 04 14:30:00 2018
,
May 4 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/64636af1c30784a18add1bc240bd23dfefe54b28 commit 64636af1c30784a18add1bc240bd23dfefe54b28 Author: Abhishek Arya <inferno@chromium.org> Date: Fri May 04 14:42:13 2018 Add argument to take profdata as input for code coverage script. R=mmoroz@chromium.org Bug: 836663 Change-Id: I55c7a7b6d5df87bec04b32b369969787321941e4 Reviewed-on: https://chromium-review.googlesource.com/1044308 Commit-Queue: Abhishek Arya <inferno@chromium.org> Reviewed-by: Max Moroz <mmoroz@chromium.org> Cr-Commit-Position: refs/heads/master@{#556049} [modify] https://crrev.com/64636af1c30784a18add1bc240bd23dfefe54b28/tools/code_coverage/coverage.py
,
May 4 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/d39ca98aa8348ce31f65d414612403ce9fd3bc3e commit d39ca98aa8348ce31f65d414612403ce9fd3bc3e Author: Abhishek Arya <inferno@chromium.org> Date: Fri May 04 16:25:51 2018
,
May 5 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/53524a4f8febb4dfa73309947249d57abe0b0d58 commit 53524a4f8febb4dfa73309947249d57abe0b0d58 Author: Max Moroz <mmoroz@google.com> Date: Sat May 05 16:00:53 2018
,
May 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7c5354fc882af70a4c9c9b0a20d01f8c42f2cb33 commit 7c5354fc882af70a4c9c9b0a20d01f8c42f2cb33 Author: Max Moroz <mmoroz@chromium.org> Date: Sun May 06 00:03:48 2018 [Code Coverage] Update output dir structure for multi-platform support. Also write output of llvm-cov export program on the disk (needed for the bot). Plus some refactoring for logs from target programs: - redirect stderr from targets into stdout to be written into a .log - write logs into its own subdir for better output structure Not output folder structure look as follows: $ ls -l out/zreport15/ total 8 drwxr-x--- 5 mmoroz primarygroup 4096 May 4 10:53 linux -rw-r--r-- 1 mmoroz primarygroup 2519 May 4 10:53 style.css $ ls -l out/zreport15/linux/ total 48 drwxr-xr-x 2 mmoroz primarygroup 4096 May 4 10:53 components -rw-r--r-- 1 mmoroz primarygroup 1627 May 4 10:53 component_view_index.html -rw-r--r-- 1 mmoroz primarygroup 4672 May 4 10:53 coverage.profdata -rw-r--r-- 1 mmoroz primarygroup 241 May 4 10:53 directory_view_index.html -rw-r--r-- 1 mmoroz primarygroup 7416 May 4 10:53 file_view_index.html -rw-r--r-- 1 mmoroz primarygroup 200 May 4 10:53 index.html drwxr-xr-x 2 mmoroz primarygroup 4096 May 4 10:53 logs -rw-r--r-- 1 mmoroz primarygroup 7483 May 4 10:53 summary.json drwxr-x--- 3 mmoroz primarygroup 4096 May 4 10:53 usr Bug: 784464 , 836663 Change-Id: I3283f16b62cfeb267bb2b3092fa469d5ff39ef14 Reviewed-on: https://chromium-review.googlesource.com/1044652 Commit-Queue: Abhishek Arya <inferno@chromium.org> Reviewed-by: Abhishek Arya <inferno@chromium.org> Cr-Commit-Position: refs/heads/master@{#556348} [modify] https://crrev.com/7c5354fc882af70a4c9c9b0a20d01f8c42f2cb33/tools/code_coverage/coverage.py
,
May 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fb70b53a802b1ae4b4df4b5d196f4413a28fc574 commit fb70b53a802b1ae4b4df4b5d196f4413a28fc574 Author: Abhishek Arya <inferno@chromium.org> Date: Sun May 06 17:47:40 2018 Add assert to check coverage file path have source root. TBR=mmoroz@chromium.org Bug: 784464 , 836663 Change-Id: I09c05445b1a86de19ef41d40e7e6fa72ce361390 Reviewed-on: https://chromium-review.googlesource.com/1046151 Reviewed-by: Abhishek Arya <inferno@chromium.org> Reviewed-by: Yuke Liao <liaoyuke@chromium.org> Commit-Queue: Abhishek Arya <inferno@chromium.org> Cr-Commit-Position: refs/heads/master@{#556357} [modify] https://crrev.com/fb70b53a802b1ae4b4df4b5d196f4413a28fc574/tools/code_coverage/coverage.py
,
May 7 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/9c66e13fcbdaf408b2b13e7e980b6e67be2a842c commit 9c66e13fcbdaf408b2b13e7e980b6e67be2a842c Author: Abhishek Arya <inferno@chromium.org> Date: Mon May 07 14:45:56 2018
,
May 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78120bc8502390cfbf483f5c2f92dc5befb5e893 commit 78120bc8502390cfbf483f5c2f92dc5befb5e893 Author: Abhishek Arya <inferno@chromium.org> Date: Mon May 07 20:53:54 2018 Add logging in coverage script to debug ldd execution time. Also, avoid reading shared library content for ones that are already processed. R=mmoroz@chromium.org Bug: 784464 , 836663 Change-Id: Iee42cbc71058457737f2ffaf4a5e22bfc85f7163 Reviewed-on: https://chromium-review.googlesource.com/1048305 Reviewed-by: Yuke Liao <liaoyuke@chromium.org> Reviewed-by: Max Moroz <mmoroz@chromium.org> Cr-Commit-Position: refs/heads/master@{#556563} [modify] https://crrev.com/78120bc8502390cfbf483f5c2f92dc5befb5e893/tools/code_coverage/coverage.py
,
May 7 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/chrome/tools/code-coverage/+/c56986dc73d7869961033ed29c71dae74d685a88 commit c56986dc73d7869961033ed29c71dae74d685a88 Author: Abhishek Arya <inferno@chromium.org> Date: Mon May 07 22:47:56 2018
,
May 11 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by mmoroz@chromium.org
, Apr 25 2018