Where is it explained exactly what columns are viewable in the JaCoCo HTML report?

4,834 views
Skip to first unread message

David Karr

unread,
Feb 26, 2017, 10:25:57 PM2/26/17
to JaCoCo and EclEmma Users
Looking at the generated HTML table, I'm now not certain I know exactly what each of these columns represents.  I tried searching through the documentation, but I found nothing. There are also no obvious tooltips to provide additional information.

Some of the columns are obvious, and many of them I can make educated guesses for, but this seems like something that could be improved.

I currently see the following headers:

* Element: Clear
* Missed Instructions: Clear
* Cov.: Instruction coverage
* Missed Branches: Clear
* Cov.: Branch coverage
* Missed: No idea.
* Cxty: Cyclomatic complexity?
* Missed: Missed lines?
* Lines: Count of lines?
* Missed: Missed methods?
* Methods: Count of methods?
* Missed: Missed classes?
* Classes: Class count?

I suppose I could dig into the source to figure this out (which I may do for a PR for this), but could someone state authoritatively what these all mean?

David Karr

unread,
Feb 26, 2017, 10:38:40 PM2/26/17
to JaCoCo and EclEmma Users

I'm aware of the "counters" page at http://www.eclemma.org/jacoco/trunk/doc/counters.html, but it would help if the HTML table was a little clearer on what each column represents.

Marc R. Hoffmann

unread,
Feb 27, 2017, 8:17:14 AM2/27/17
to jac...@googlegroups.com
Hi David,

the columns are grouped (see vertical lines). For complexity, lines, methods and classes the number of missed items and the number of total items is shown.

* Element: Clear
* Missed Instructions: Clear
* Cov.: Instruction coverage
* Missed Branches: Clear
* Cov.: Branch coverage
* Missed: No idea. --> Missed complexity
* Cxty: Cyclomatic complexity? --> Yep
* Missed: Missed lines?  --> Yep
* Lines: Count of lines? --> Total count
* Missed: Missed methods? --> Yep
* Methods: Count of methods? --> Total count
* Missed: Missed classes? --> Yep
* Classes: Class count? --> Total count

The exact definition of the counters are described in documentation.

I agree that the headers are quite minimalistic. I selected the format for the sake of a compact rendering many years ago. I like the more compact format and would leave it like it is. Maybe an alternative would be to add tool tips?

I have a unfinished pull request to cutomize columns. This would also allow users to write longer, more descriptive headers. Would that help in your case?

Cheers,
-marc


--
You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacoco+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacoco/a8d65cfc-f2ab-453a-b640-7ce84f3170f6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

David Karr

unread,
Feb 27, 2017, 4:18:31 PM2/27/17
to JaCoCo and EclEmma Users
On Monday, February 27, 2017 at 12:17:14 AM UTC-8, Marc R. Hoffmann wrote:
Hi David,

the columns are grouped (see vertical lines). For complexity, lines, methods and classes the number of missed items and the number of total items is shown.

I did not notice until now the missing column separators.


* Element: Clear
* Missed Instructions: Clear
* Cov.: Instruction coverage
* Missed Branches: Clear
* Cov.: Branch coverage
* Missed: No idea. --> Missed complexity
* Cxty: Cyclomatic complexity? --> Yep
* Missed: Missed lines?  --> Yep
* Lines: Count of lines? --> Total count
* Missed: Missed methods? --> Yep
* Methods: Count of methods? --> Total count
* Missed: Missed classes? --> Yep
* Classes: Class count? --> Total count

The exact definition of the counters are described in documentation.

I agree that the headers are quite minimalistic. I selected the format for the sake of a compact rendering many years ago. I like the more compact format and would leave it like it is. Maybe an alternative would be to add tool tips?

I have a unfinished pull request to cutomize columns. This would also allow users to write longer, more descriptive headers. Would that help in your case?

I think the headers are fine the way they are, but you need a way to provide information to people who are not familiar with the semantics of the values. Tooltips are the classic and best answer to this problem. This doesn't need to be an "alternative", as tooltips won't be seen unless you hover the mouse over the column header. Looking at the code, it looks like this is very doable, but it would likely require changes all the way down to the HTMLElement class, but again, I've just taken a brief look at the code.
 

Evgeny Mandrikov

unread,
Feb 27, 2017, 4:28:56 PM2/27/17
to JaCoCo and EclEmma Users

On Monday, February 27, 2017 at 5:18:31 PM UTC+1, David Karr wrote:
tooltips won't be seen unless you hover the mouse over the column header

Tooltips are not a bad idea.
But I saw people, who are not able to find tooltips, in exactly the same way as you overlooked missing column separators :) and they anyway will ask question :)
Addition of a help icon and link to help page? Also not sure, because believe that usually "Sessions" page (link is in right top corner) is overlooked.

David Karr

unread,
Feb 27, 2017, 6:22:38 PM2/27/17
to JaCoCo and EclEmma Users

Some people are just hopeless :) .  Seriously, tooltips are something that many people think to check for, and many others who discover them accidentally.  It's just a way to provide additional information that doesn't get in the way of experienced users.

Concerning the "Sessions" page, I would imagine it's mostly overlooked because most people don't have a clue what it's for.  I don't know what it's for.  Don't consider that a request to explain it here, I'm just pointing that out to give you some perspective. I would imagine the vast majority of people who deliberately navigate to this page will understand what "line coverage" is.  Somewhat fewer will understand "branch coverage", hardly any will understand "complexity coverage" (I still don't), and most will never even notice the "Sessions" link or know what it's for.  Look at this page from that perspective, and you'll see the value of providing informational tooltips on some of those headers and links. I think you already see it, just providing more emphasis. As developers of a framework or application, we often don't have the perspective of ordinary users.

Marc R. Hoffmann

unread,
Feb 27, 2017, 8:39:05 PM2/27/17
to jac...@googlegroups.com
Hi,

over the time our HTML report got so many features that it deserves its own documentation page. I started an outline here:

https://github.com/jacoco/jacoco/wiki/HtmlCoverageReport

Once the text is finished I'll move it to the source tree.

Cheers,
-marc
--
You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacoco+un...@googlegroups.com.
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages