Show cumulative error counts in the streaming rows
This commit is contained in:
@@ -186,12 +186,12 @@ var intervalCols = []colSpec{
|
|||||||
{title: "TX Gb/s", width: 7, right: true},
|
{title: "TX Gb/s", width: 7, right: true},
|
||||||
{title: "RX pps", width: 9, right: true},
|
{title: "RX pps", width: 9, right: true},
|
||||||
{title: "RX Gb/s", width: 7, right: true},
|
{title: "RX Gb/s", width: 7, right: true},
|
||||||
{title: "LOST", width: 8, right: true},
|
{title: "LOST", width: 11, right: true},
|
||||||
{title: "LATE", width: 6, right: true},
|
{title: "LATE", width: 9, right: true},
|
||||||
{title: "CRC", width: 5, right: true},
|
{title: "CRC", width: 7, right: true},
|
||||||
{title: "BADMAG", width: 6, right: true},
|
{title: "BADMAG", width: 7, right: true},
|
||||||
{title: "KDROP", width: 7, right: true},
|
{title: "KDROP", width: 11, right: true},
|
||||||
{title: "ERRORS", width: 10, right: true},
|
{title: "ERRORS", width: 11, right: true},
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *direction) intervalRow(elapsed time.Duration, secs, target float64) []string {
|
func (d *direction) intervalRow(elapsed time.Duration, secs, target float64) []string {
|
||||||
@@ -204,7 +204,6 @@ func (d *direction) intervalRow(elapsed time.Duration, secs, target float64) []s
|
|||||||
rxF := now.rxFrames - p.rxFrames
|
rxF := now.rxFrames - p.rxFrames
|
||||||
rxB := now.rxBytes - p.rxBytes
|
rxB := now.rxBytes - p.rxBytes
|
||||||
|
|
||||||
before := d.drops
|
|
||||||
d.sampleDrops()
|
d.sampleDrops()
|
||||||
total := now.lost + now.crcErr + now.badMagic + now.badLen + d.drops
|
total := now.lost + now.crcErr + now.badMagic + now.badLen + d.drops
|
||||||
|
|
||||||
@@ -215,11 +214,11 @@ func (d *direction) intervalRow(elapsed time.Duration, secs, target float64) []s
|
|||||||
rateCell(gbps(txB, txF, secs), target),
|
rateCell(gbps(txB, txF, secs), target),
|
||||||
commas(uint64(float64(rxF) / secs)),
|
commas(uint64(float64(rxF) / secs)),
|
||||||
rateCell(gbps(rxB, rxF, secs), target),
|
rateCell(gbps(rxB, rxF, secs), target),
|
||||||
statusCell(now.lost - p.lost),
|
statusCell(now.lost),
|
||||||
statusCell(now.late - p.late),
|
statusCell(now.late),
|
||||||
statusCell(now.crcErr - p.crcErr),
|
statusCell(now.crcErr),
|
||||||
statusCell(now.badMagic - p.badMagic),
|
statusCell(now.badMagic),
|
||||||
statusCell(d.drops - before),
|
statusCell(d.drops),
|
||||||
statusCell(total),
|
statusCell(total),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -478,6 +477,7 @@ func run(aName, bName, sizesArg, patArg, fanout, txCPUsArg, rxCPUsArg string,
|
|||||||
humanBytes(uint64(sockBufSize(dirs[0].txFDs[0], unix.SO_SNDBUF))),
|
humanBytes(uint64(sockBufSize(dirs[0].txFDs[0], unix.SO_SNDBUF))),
|
||||||
humanBytes(uint64(sockBufSize(dirs[0].rxFDs[0], unix.SO_RCVBUF))))},
|
humanBytes(uint64(sockBufSize(dirs[0].rxFDs[0], unix.SO_RCVBUF))))},
|
||||||
}))
|
}))
|
||||||
|
fmt.Println(paint("rates are per interval; error counts are cumulative since start", cDim))
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
|
|
||||||
var doneTx, doneRx atomic.Bool
|
var doneTx, doneRx atomic.Bool
|
||||||
|
|||||||
Reference in New Issue
Block a user