Fix showing data usage indicators

This commit is contained in:
Arturo Filastò 2018-09-12 14:03:07 +02:00
parent 4880d31120
commit 2b1fb662fb
3 changed files with 21 additions and 7 deletions

View File

@ -24,6 +24,18 @@ func formatSpeed(speed float64) string {
return fmt.Sprintf("%.2f Tbit/s", float32(speed)/(1000*1000*1000))
}
func formatSize(size float64) string {
if size < 1024 {
return fmt.Sprintf("%.1fK", size)
} else if size < 1024*1024 {
return fmt.Sprintf("%.1fM", size/1024.0)
} else if size < 1024*1024*1024 {
return fmt.Sprintf("%.1fG", size/(1024.0*1024.0))
}
// WTF, you crazy?
return fmt.Sprintf("%.1fT", size/(1024*1024*1024))
}
var summarizers = map[string]func(uint64, uint64, string) []string{
"websites": func(totalCount uint64, anomalyCount uint64, ss string) []string {
return []string{
@ -102,9 +114,7 @@ func logResultItem(w io.Writer, f log.Fields) error {
util.RightPad(summary[2], colWidth)))
if index == totalCount-1 {
fmt.Fprintf(w, "└┬──────────────┬──────────────┬──────────────┬")
fmt.Fprintf(w, strings.Repeat("─", colWidth*2-44))
fmt.Fprintf(w, "┘\n")
fmt.Fprintf(w, "└┬──────────────┬──────────────┬──────────────────┬┘\n")
}
return nil
}
@ -125,8 +135,8 @@ func logResultSummary(w io.Writer, f log.Fields) error {
fmt.Fprintf(w, " │ %s │ %s │ %s │\n",
util.RightPad(fmt.Sprintf("%d tests", tests), 12),
util.RightPad(fmt.Sprintf("%d nets", networks), 12),
util.RightPad(fmt.Sprintf("%.0f ⬆ %.0f ⬇", dataUp, dataDown), 12))
fmt.Fprintf(w, " └──────────────┴──────────────┴──────────────┘\n")
util.RightPad(fmt.Sprintf("⬆ %s ⬇ %s", formatSize(dataUp), formatSize(dataDown)), 16))
fmt.Fprintf(w, " └──────────────┴──────────────┴──────────────────┘\n")
return nil
}

View File

@ -38,7 +38,11 @@ func EscapeAwareRuneCountInString(s string) int {
}
func RightPad(str string, length int) string {
return str + strings.Repeat(" ", length-EscapeAwareRuneCountInString(str))
c := length - EscapeAwareRuneCountInString(str)
if c < 0 {
c = 0
}
return str + strings.Repeat(" ", c)
}
// WrapString wraps the given string within lim width in characters.

View File

@ -286,7 +286,7 @@ func (c *Controller) Init(nt *mk.Nettest) error {
}
c.res.DataUsageDown += e.Value.DownloadedKB
c.res.DataUsageDown += e.Value.UploadedKB
c.res.DataUsageUp += e.Value.UploadedKB
})
log.Debugf("Registered all the handlers")