This commit is contained in:
six-ddc 2021-11-22 16:01:46 +08:00
parent 0ac037cfc0
commit fa71e924d2
2 changed files with 7 additions and 4 deletions

View File

@ -35,6 +35,7 @@ var (
socks5 = kingpin.Flag("socks5", "Socks5 proxy").PlaceHolder("ip:port").String()
autoOpenBrowser = kingpin.Flag("auto-open-browser", "Specify whether auto open browser to show Web charts").Bool()
notClearBar = kingpin.Flag("not-clear", "Don't clear the histogram bar once its finished").Bool()
url = kingpin.Arg("url", "request url").Required().String()
)
@ -207,6 +208,6 @@ func main() {
}
// terminal printer
printer := NewPrinter(*requests, *duration)
printer := NewPrinter(*requests, *duration, *notClearBar)
printer.PrintLoop(report.Snapshot, *interval, *seconds, report.Done())
}

View File

@ -32,10 +32,11 @@ type Printer struct {
pbInc int64
pbNumStr string
pbDurStr string
notClearBar bool
}
func NewPrinter(maxNum int64, maxDuration time.Duration) *Printer {
return &Printer{maxNum: maxNum, maxDuration: maxDuration}
func NewPrinter(maxNum int64, maxDuration time.Duration, notClearBar bool) *Printer {
return &Printer{maxNum: maxNum, maxDuration: maxDuration, notClearBar: notClearBar}
}
func (p *Printer) updateProgressValue(rs *SnapshotReport) {
@ -219,7 +220,8 @@ func (p *Printer) buildHistogram(snapshot *SnapshotReport, useSeconds bool, isFi
row := []string{durationToString(bin.Mean, useSeconds), strconv.Itoa(bin.Count)}
if isFinal {
row = append(row, fmt.Sprintf("%.2f%%", math.Floor(float64(bin.Count)*1e4/float64(hisSum)+0.5)/100.0))
} else {
}
if !isFinal || p.notClearBar {
barLen := 0
if maxCount > 0 {
barLen = (bin.Count*maxBarLen + maxCount/2) / maxCount