mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #4781 from gyuho/csv
bench/cmd: print csv-format timeseries
This commit is contained in:
commit
724bab110d
@ -16,7 +16,9 @@ package cmd
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"encoding/csv"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
"sort"
|
"sort"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
@ -82,10 +84,25 @@ func (sp *secondPoints) getTimeSeries() TimeSeries {
|
|||||||
|
|
||||||
func (ts TimeSeries) String() string {
|
func (ts TimeSeries) String() string {
|
||||||
buf := new(bytes.Buffer)
|
buf := new(bytes.Buffer)
|
||||||
buf.WriteString("Sample in one second (unix latency throughput):\n")
|
wr := csv.NewWriter(buf)
|
||||||
|
if err := wr.Write([]string{"unix_ts", "avg_latency", "throughput"}); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
rows := [][]string{}
|
||||||
for i := range ts {
|
for i := range ts {
|
||||||
buf.WriteString(fmt.Sprintf("%7d %10s %5d\n", ts[i].timestamp, ts[i].avgLatency, ts[i].throughPut))
|
row := []string{
|
||||||
|
fmt.Sprintf("%d", ts[i].timestamp),
|
||||||
|
fmt.Sprintf("%s", ts[i].avgLatency),
|
||||||
|
fmt.Sprintf("%d", ts[i].throughPut),
|
||||||
}
|
}
|
||||||
buf.WriteString("\n")
|
rows = append(rows, row)
|
||||||
return buf.String()
|
}
|
||||||
|
if err := wr.WriteAll(rows); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
wr.Flush()
|
||||||
|
if err := wr.Error(); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("\nSample in one second (unix latency throughput):\n%s", buf.String())
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user