Skip to content

Commit

Permalink
refactor: improved humanNumber and humanSI
Browse files Browse the repository at this point in the history
This hides "(n)" when value is same as SI,
and makes SI "3k" (instead of "3 k")
  • Loading branch information
lidel authored and aschmahmann committed May 27, 2021
1 parent e5ac704 commit f40dc73
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions core/commands/stat_provide.go
Expand Up @@ -55,12 +55,10 @@ This interface is not stable and may change from release to release.
wtr := tabwriter.NewWriter(w, 1, 2, 1, ' ', 0)
defer wtr.Flush()

tp := float64(s.TotalProvides)
fmt.Fprintf(wtr, "TotalProvides:\t%s\t(%s)\n", humanSI(tp, 0), humanFull(tp, 0))
fmt.Fprintf(wtr, "AvgProvideDuration:\t%v\n", humanDuration(s.AvgProvideDuration))
fmt.Fprintf(wtr, "LastReprovideDuration:\t%v\n", humanDuration(s.LastReprovideDuration))
lrbs := float64(s.LastReprovideBatchSize)
fmt.Fprintf(wtr, "LastReprovideBatchSize:\t%s\t(%s)\n", humanSI(lrbs, 0), humanFull(lrbs, 0))
fmt.Fprintf(wtr, "TotalProvides:\t%s\n", humanNumber(s.TotalProvides))
fmt.Fprintf(wtr, "AvgProvideDuration:\t%s\n", humanDuration(s.AvgProvideDuration))
fmt.Fprintf(wtr, "LastReprovideDuration:\t%s\n", humanDuration(s.LastReprovideDuration))
fmt.Fprintf(wtr, "LastReprovideBatchSize:\t%s\n", humanNumber(s.LastReprovideBatchSize))
return nil
}),
},
Expand All @@ -71,9 +69,19 @@ func humanDuration(val time.Duration) string {
return val.Truncate(time.Microsecond).String()
}

func humanNumber(n int) string {
nf := float64(n)
str := humanSI(nf, 0)
fullStr := humanFull(nf, 0)
if str != fullStr {
return fmt.Sprintf("%s\t(%s)", str, fullStr)
}
return str
}

func humanSI(val float64, decimals int) string {
v, unit := humanize.ComputeSI(val)
return humanize.SIWithDigits(v, decimals, unit)
return fmt.Sprintf("%s%s", humanFull(v, decimals), unit)
}

func humanFull(val float64, decimals int) string {
Expand Down

0 comments on commit f40dc73

Please sign in to comment.