Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Checker summary view #870

Merged
merged 1 commit into from
Sep 7, 2017
Merged

Checker summary view #870

merged 1 commit into from
Sep 7, 2017

Conversation

csordasmarton
Copy link
Contributor

Closes #826

@@ -594,6 +594,15 @@ def add_arguments_to_parser(parser):
results.set_defaults(func=cmd_line_client.handle_list_results)
__add_common_arguments(results, has_matrix_output=True)

results = subcommands.add_parser(
'statistics',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this a new subcommand instead of CodeChecker cmd sum redesigned to give this output?

@gyorb

'dojo/promise/all',
'dojo/store/Memory',
'dojo/store/Observable',
'dojo/data/ItemFileWriteStore',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Imports are in a strange order here.

@@ -42,6 +42,13 @@ struct RunReportCount{
}
typedef list<RunReportCount> RunReportCounts

struct CheckerDataCount {
1: string name, // Checker name
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The nomenclature pull-request will make this file also be formatted as full sentences, this should be so from now on.

@@ -443,7 +450,7 @@ service codeCheckerDBAccess {
// for all of the runs and in compare mode all of the runs
// will be used as a baseline excluding the runs in compare data.
// PERMISSION: PRODUCT_ACCESS
map<string, i64> getCheckerCounts(1: list<i64> runIds,
CheckerDataCounts getCheckerCounts(1: list<i64> runIds,
2: ReportFilter_v2 reportFilter,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The length of the type changed, please align the arguments to be under each other (introduce a single space).


this.structure = [
{ name : 'Checker Name', field : 'checker', width : '100%'},
{ name : 'Severity', field : 'severity', styles : 'text-align: center;', width : '10%'},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please make this column a bit bigger, so on relatively medium-sized screens the Severity header is not split.

print(CmdLineOutputEncoder().encode(results_collector))
print(CmdLineOutputEncoder().encode(all_results))
else:
header = ['Checker', 'Severity', 'Reports', 'Unreviewed', 'Confirmed',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this table looks a bit strange, as the "detection status" is too far.

I believe the following format would be better for the eye:

  • Checker
  • Severity
  • All reports (let's emphasise this)
  • Resolved
  • Unreviewed
  • Confirmed
  • False positive
  • Won't fix

this._runFilter = new RunFilter({
store: this._runStore,
labelAttr : 'label',
label : 'Get Statistics only for these runs...',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Get statistics only for runs... would be better here. Also, if this is a user-string, perhaps " should be used instead of '.

For the sake of readability, please align the :s under each other.

description="Show the count of checker reports per checker for some "
"analysis runs.",
help="Show number of reports per checker.")
description="Show checker statistics for some analysis runs.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As the description of this command was changed, the docs/user_guide.md file should also be updated to reflect the new help.

@@ -42,6 +42,13 @@ struct RunReportCount{
}
typedef list<RunReportCount> RunReportCounts

struct CheckerDataCount {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is Data part of this type's name?

this.structure = [
{ name : 'Checker Name', field : 'checker', width : '100%'},
{ name : 'Severity', field : 'severity', styles : 'text-align: center;', width : '10%'},
{ name : '<span class="customIcon detection-status-unresolved"></span> Reports', field : 'reports', width : '20%'},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of course the same header layout I proposed applies to the web interface too.

Copy link
Contributor

@gyorb gyorb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should note that this will change the command line output format, some scripts might be broken because of the changed output.

@whisperity
Copy link
Contributor

@gyorb I added a note to the 6.0 patchnotes.

@gyorb
Copy link
Contributor

gyorb commented Sep 6, 2017

Could we changed the tab order to be like list of runs all issues checker statistics?
What if there are many runs and I select a lot in the drop down? Will the selection menu length increase with the names of all the selected runs?
What do you think @csordasmarton?

@gyorb
Copy link
Contributor

gyorb commented Sep 6, 2017

I think ordering (or viewing) by severity does not work properly (High, Low, Medium) should be (High, Medium, Low) @csordasmarton.

@csordasmarton
Copy link
Contributor Author

@gyorb

  • I don' think we should change the tab order. What if I opened a couple of run in a new tab:
    1.) list of runs, all reports, checker statistics, reports1, reports2
    2.) list of runs, checker statistics, all reports, reports1, reports2
    I think the second one is better, because we keep run tabs after each other.
  • The selection menu will automatically increase it's size if I'm selecting multiple runs.
  • I fixed the severity ordering problem.

@whisperity
Copy link
Contributor

Just pitching in a minor thought here. For me, a lot of zeroes in a huge table, especially on some website, is painful for the eyes.

Perhaps we could change the web server (the command-line output could stay as it is) so that if the number if 0, nothing is printed?

image

@gyorb gyorb merged commit d38b48e into Ericsson:master Sep 7, 2017
@csordasmarton csordasmarton deleted the summary_view branch September 7, 2017 12:34
@whisperity whisperity mentioned this pull request Sep 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants