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

Issue 784620 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 789692
issue 792535
issue 803661

Blocking:
issue 759794
issue 800016



Sign in to add a comment

Clang coverage: improve HTML report quality (preferably in the upstream)

Project Member Reported by mmoroz@chromium.org, Nov 13 2017

Issue description

Various improvements discussed at LLVM BoF session and on the mailing list.
 

Comment 1 by mmoroz@chromium.org, Nov 13 2017

Blocking: 759794

Comment 2 by mmoroz@chromium.org, Dec 12 2017

Blockedon: 792535

Comment 3 by mmoroz@chromium.org, Dec 22 2017

Components: Tools>CodeCoverage

Comment 4 by mmoroz@google.com, Jan 4 2018

Blockedon: 789692
Yuke, there is one more thing I'd like to improve. Take a look at this screenshot: https://screenshot.googleplex.com/vXZjR6U9Kr0.png

Alignment of percentages doesn't look good. I'd prefer seeing it in the following manner:


file1     |  89.13% (123 / 2323)    | 100.00% (55 / 55)    |   9.33% (14545 / 234234)
file_asda |   1.78% ( 23 / 4323)    |  32.31% (555 / 6555) |  67.89% (1545 / 2234)
fileXXX   | 100.00% (12323 / 12323) | 100.00% (555 / 555)  | 100.00% (12345 / 12345)

i.e. I want to align numbers to the left and pad them with spaces, so the percentage values would be easy to scan while looking at them. WDYT? I guess it should be done on the LLVM side, since those .html reports are generated by llvm-cov?
Status: Assigned (was: Untriaged)
Yes, I completely agree, this would make the reports much easier to read.
Blocking: 800016

Comment 7 by mmoroz@chromium.org, Jan 16 2018

Status: Started (was: Assigned)
https://reviews.llvm.org/D42093

Comment 8 by mmoroz@chromium.org, Jan 31 2018

Landed: https://reviews.llvm.org/rL323892

Should be available in Chromium after next clang roll ( issue 803661 ).

Comment 9 by mmoroz@chromium.org, Jan 31 2018

Blockedon: 803661
Status: Fixed (was: Started)
Do we have any other ideas regarding HTML report improvements?

Below are notes from Code Coverage BoF session:

------------------------------------------------------------------
2. HTML report quality

There seems to be widespread interest in improving the quality of coverage reports. We need volunteers to work on this and would love your help! Here are some desired features:

* Search and filtering for coverage summaries
* Collapsing parts of a coverage summary by subdirectory
* Automatically generating a top 10 list of code regions which need better coverage
* Searching via complex queries (e.g: 'give me uncovered regions in covered lines', or 'give me uncovered regions after a call')
* Generating coverage deltas between two profiles, and identifying coverage regressions in a patch/commit
* Simplified tracking of coverage trends over time

There is some consensus that this functionality should not be built on top of the existing llvm-cov C++ codebase. It might be better to develop these features in a language more amenable to rapid prototyping and interoperation with popular web application frameworks (perhaps Python). To facilitate this, llvm-cov gained support for exporting all of its data to JSON (see CoverageExporterJson.cpp). If you are interested in working on these features, I would be happy to work with you on design issues and on code review.
------------------------------------------------------------------

That all sounds interesting, but as said above, that should not be part of the report generated by C++ code, but rather something separate. I guess we'd better implement things like search, tracking trends, etc in a way which we could use as-is on the coverage dashboard web-site.

The only potential improvement I see is to generate report by directory, but we're doing that already in our script together with grouping by component. Thus, having by-directory grouping landed upstream is not a priority for us at the moment, though might be useful for community. Filed a separate issue 820543 to track that.

Closing this one. Feel free to re-open or file a new one if you have any other suggestions.
Thanks Max,

This is not high priority, but would it be interesting for us to create a Github open source project to develop those tools so that any project (even non-Chrome) can just import our tools and generate code coverage report that supports all those features such as Search, filtering?
Yes, I'm thinking the same way, Yuke. We might consider LLVM repo instead of GitHub, though GitHub seems more convenient to me. Having a unified Coverage Dashboard app providing all those features would be really awesome and useful for many projects, not only Chrome.

Sign in to add a comment