common: improve pretty duration regex (#25073)

This commit is contained in:
Marius van der Wijden 2022-06-14 14:08:43 +02:00 committed by Daniel Liu
parent ebc036682e
commit febb456ddd

View file

@ -17,7 +17,6 @@
package common package common
import ( import (
"fmt"
"regexp" "regexp"
"strings" "strings"
"time" "time"
@ -27,12 +26,12 @@ import (
// the unnecessary precision off from the formatted textual representation. // the unnecessary precision off from the formatted textual representation.
type PrettyDuration time.Duration type PrettyDuration time.Duration
var prettyDurationRe = regexp.MustCompile(`\.[0-9]+`) var prettyDurationRe = regexp.MustCompile(`\.[0-9]{4,}`)
// String implements the Stringer interface, allowing pretty printing of duration // String implements the Stringer interface, allowing pretty printing of duration
// values rounded to three decimals. // values rounded to three decimals.
func (d PrettyDuration) String() string { func (d PrettyDuration) String() string {
label := fmt.Sprintf("%v", time.Duration(d)) label := time.Duration(d).String()
if match := prettyDurationRe.FindString(label); len(match) > 4 { if match := prettyDurationRe.FindString(label); len(match) > 4 {
label = strings.Replace(label, match, match[:4], 1) label = strings.Replace(label, match, match[:4], 1)
} }