in serverui.go [214:283]
func (u *serverTui) paint(seconds uint64) {
tm.Clear(tm.ColorDefault, tm.ColorDefault)
defer tm.Flush()
printCenterText(0, 0, u.w, "Ethr (Version: "+gVersion+")", tm.ColorBlack, tm.ColorWhite)
printHLineText(u.resX, u.resY-1, u.resW, "Test Results")
printHLineText(u.statX, u.statY-1, u.statW, "Statistics")
printVLine(u.topVSplitX, u.topVSplitY, u.topVSplitH)
printHLineText(u.msgX, u.msgY-1, u.msgW, "Messages")
printHLineText(u.errX, u.errY-1, u.errW, "Errors")
u.ringLock.Lock()
u.msg.cr = 0
for _, s := range u.msgRing {
u.msg.addTblRow([]string{s})
}
u.err.cr = 0
for _, s := range u.errRing {
u.err.addTblRow([]string{s})
}
u.ringLock.Unlock()
printVLine(u.botVSplitX, u.botVSplitY, u.botVSplitH)
u.res.cr = 0
if u.resultHdr != nil {
u.res.addTblHdr()
u.res.addTblRow(u.resultHdr)
u.res.addTblSpr()
}
for _, s := range u.results {
u.res.addTblRow(s)
u.res.addTblSpr()
}
if len(gPrevNetStats.netDevStats) == 0 {
return
}
x := u.statX
w := u.statW
y := u.statY
for _, ns := range gCurNetStats.netDevStats {
nsDiff := getNetDevStatDiff(ns, gPrevNetStats, seconds)
// TODO: Log the network adapter stats in file as well.
printText(x, y, w, fmt.Sprintf("if: %s", ns.interfaceName), tm.ColorWhite, tm.ColorBlack)
y++
printText(x, y, w, fmt.Sprintf("Tx %sbps", bytesToRate(nsDiff.txBytes)), tm.ColorWhite, tm.ColorBlack)
bw := nsDiff.txBytes * 8
printUsageBar(x+14, y, 10, bw, KILO, tm.ColorYellow)
y++
printText(x, y, w, fmt.Sprintf("Rx %sbps", bytesToRate(nsDiff.rxBytes)), tm.ColorWhite, tm.ColorBlack)
bw = nsDiff.rxBytes * 8
printUsageBar(x+14, y, 10, bw, KILO, tm.ColorGreen)
y++
printText(x, y, w, fmt.Sprintf("Tx %spps", numberToUnit(nsDiff.txPkts)), tm.ColorWhite, tm.ColorBlack)
printUsageBar(x+14, y, 10, nsDiff.txPkts, 10, tm.ColorWhite)
y++
printText(x, y, w, fmt.Sprintf("Rx %spps", numberToUnit(nsDiff.rxPkts)), tm.ColorWhite, tm.ColorBlack)
printUsageBar(x+14, y, 10, nsDiff.rxPkts, 10, tm.ColorCyan)
y++
printText(x, y, w, "-------------------------", tm.ColorDefault, tm.ColorDefault)
y++
}
printText(x, y, w,
fmt.Sprintf("Tcp Retrans: %s",
numberToUnit((gCurNetStats.tcpStats.segRetrans-gPrevNetStats.tcpStats.segRetrans)/seconds)),
tm.ColorDefault, tm.ColorDefault)
}