Bladeren bron

benchmark: add --precise flag

Usually benchmark writes with %4.4f; this adds optional %g formatting.
Anthony Romano 9 jaren geleden
bovenliggende
commit
e7d8292cd1
2 gewijzigde bestanden met toevoegingen van 8 en 2 verwijderingen
  1. 2 0
      tools/benchmark/cmd/root.go
  2. 6 2
      tools/benchmark/cmd/util.go

+ 2 - 0
tools/benchmark/cmd/root.go

@@ -37,6 +37,7 @@ var (
 	endpoints    []string
 	totalConns   uint
 	totalClients uint
+	precise      bool
 	sample       bool
 
 	bar *pb.ProgressBar
@@ -55,6 +56,7 @@ func init() {
 	RootCmd.PersistentFlags().UintVar(&totalConns, "conns", 1, "Total number of gRPC connections")
 	RootCmd.PersistentFlags().UintVar(&totalClients, "clients", 1, "Total number of gRPC clients")
 
+	RootCmd.PersistentFlags().BoolVar(&precise, "precise", false, "use full floating point precision")
 	RootCmd.PersistentFlags().BoolVar(&sample, "sample", false, "'true' to sample requests for every second")
 	RootCmd.PersistentFlags().StringVar(&tls.CertFile, "cert", "", "identify HTTPS client using this SSL certificate file")
 	RootCmd.PersistentFlags().StringVar(&tls.KeyFile, "key", "", "identify HTTPS client using this SSL key file")

+ 6 - 2
tools/benchmark/cmd/util.go

@@ -86,8 +86,12 @@ func mustRandBytes(n int) []byte {
 }
 
 func newReport() report.Report {
+	p := "%4.4f"
+	if precise {
+		p = "%g"
+	}
 	if sample {
-		return report.NewReportSample("%4.4f")
+		return report.NewReportSample(p)
 	}
-	return report.NewReport("%4.4f")
+	return report.NewReport(p)
 }