mirror of
https://github.com/FairwindsOps/polaris.git
synced 2026-05-09 02:36:43 +00:00
Fix up zero-score issues (#468)
* return score of 100 when no checks specified * fix up zero states in frontend * rename variables
This commit is contained in:
@@ -1,14 +1,19 @@
|
||||
$(function () {
|
||||
var data = [
|
||||
polarisSummary.Successes,
|
||||
polarisSummary.Warnings,
|
||||
polarisSummary.Dangers,
|
||||
];
|
||||
var sum = data.reduce(function(total, cur) { return total + cur }, 0.0)
|
||||
if (sum === 0.0) {
|
||||
data = [1, 0, 0];
|
||||
}
|
||||
var clusterChart = new Chart("clusterScoreChart", {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
labels: ["Passing", "Warning", "Error"],
|
||||
datasets: [{
|
||||
data: [
|
||||
polarisSummary.Successes,
|
||||
polarisSummary.Warnings,
|
||||
polarisSummary.Dangers,
|
||||
],
|
||||
data: data,
|
||||
backgroundColor: ['#8BD2DC', '#f26c21', '#a11f4c'],
|
||||
}]
|
||||
},
|
||||
|
||||
@@ -25,7 +25,7 @@ import (
|
||||
func getWarningWidth(counts validator.CountSummary, fullWidth int) uint {
|
||||
denom := counts.Successes + counts.Warnings + counts.Dangers
|
||||
if denom == 0 {
|
||||
return uint(0)
|
||||
return uint(1 * float64(fullWidth))
|
||||
}
|
||||
res := float64(counts.Successes+counts.Warnings) / float64(denom) * float64(fullWidth)
|
||||
return uint(res)
|
||||
@@ -34,7 +34,7 @@ func getWarningWidth(counts validator.CountSummary, fullWidth int) uint {
|
||||
func getSuccessWidth(counts validator.CountSummary, fullWidth int) uint {
|
||||
denom := counts.Successes + counts.Warnings + counts.Dangers
|
||||
if denom == 0 {
|
||||
return uint(0)
|
||||
return uint(1 * float64(fullWidth))
|
||||
}
|
||||
res := float64(counts.Successes) / float64(denom) * float64(fullWidth)
|
||||
return uint(res)
|
||||
|
||||
@@ -153,7 +153,11 @@
|
||||
<strong>{{ .Name }}</strong></div>
|
||||
|
||||
<div class="result-messages expandable-content">
|
||||
<h4>Controller Spec:</h4>
|
||||
<h4>Controller Spec:
|
||||
{{ if eq 0 (len .Results.GetSortedResults) }}
|
||||
<i>no checks applied</i>
|
||||
{{ end }}
|
||||
</h4>
|
||||
<ul class="message-list">
|
||||
{{ range $message := .Results.GetSortedResults }}
|
||||
<li class="{{ getResultClass . }}">
|
||||
@@ -168,7 +172,11 @@
|
||||
</div>
|
||||
|
||||
<div class="result-messages expandable-content">
|
||||
<h4>Pod Spec:</h4>
|
||||
<h4>Pod Spec:
|
||||
{{ if eq 0 (len .PodResult.Results.GetSortedResults) }}
|
||||
<i>no checks applied</i>
|
||||
{{ end }}
|
||||
</h4>
|
||||
<ul class="message-list">
|
||||
{{ range $message := .PodResult.Results.GetSortedResults }}
|
||||
<li class="{{ getResultClass . }}">
|
||||
@@ -184,7 +192,11 @@
|
||||
|
||||
{{ range .PodResult.ContainerResults }}
|
||||
<div class="result-messages expandable-content">
|
||||
<h4>Container: {{ .Name }}</h4>
|
||||
<h4>Container {{ .Name }}:
|
||||
{{ if eq 0 (len .Results.GetSortedResults) }}
|
||||
<i>no checks applied</i>
|
||||
{{ end }}
|
||||
</h4>
|
||||
<ul class="message-list">
|
||||
{{ range $message := .Results.GetSortedResults }}
|
||||
<li class="{{ getResultClass . }}">
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
type CountSummary struct {
|
||||
Successes uint
|
||||
Warnings uint
|
||||
Dangers uint
|
||||
Dangers uint
|
||||
}
|
||||
|
||||
// CountSummaryByCategory is a map from category to CountSummary
|
||||
@@ -21,7 +21,7 @@ type CountSummaryByCategory map[string]CountSummary
|
||||
func (cs CountSummary) GetScore() uint {
|
||||
total := (cs.Successes * 2) + cs.Warnings + (cs.Dangers * 2)
|
||||
if total == 0 {
|
||||
return 0 // Prevent divide by 0.
|
||||
return uint(100)
|
||||
}
|
||||
return uint((float64(cs.Successes*2) / float64(total)) * 100)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user