mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-22 14:10:28 +00:00
Offload formatting to yggdrasilctl and keep precision in JSON
This commit is contained in:
parent
59688dcab3
commit
9567446f50
@ -434,17 +434,12 @@ func (a *admin) getData_getPeers() []admin_nodeInfo {
|
||||
for _, port := range ps {
|
||||
p := ports[port]
|
||||
addr := *address_addrForNodeID(getNodeID(&p.box))
|
||||
duration := time.Since(p.firstSeen)
|
||||
info := admin_nodeInfo{
|
||||
{"ip", net.IP(addr[:]).String()},
|
||||
{"port", port},
|
||||
{"uptime", fmt.Sprintf("%02d:%02d:%02d",
|
||||
int(duration.Hours()),
|
||||
int(duration.Minutes())%60,
|
||||
int(duration.Seconds())%60,
|
||||
)},
|
||||
{"bytes_sent", fmt.Sprintf("%d", atomic.LoadUint64(&p.bytesSent))},
|
||||
{"bytes_recvd", fmt.Sprintf("%d", atomic.LoadUint64(&p.bytesRecvd))},
|
||||
{"uptime", int(time.Since(p.firstSeen).Seconds())},
|
||||
{"bytes_sent", atomic.LoadUint64(&p.bytesSent)},
|
||||
{"bytes_recvd", atomic.LoadUint64(&p.bytesRecvd)},
|
||||
}
|
||||
peerInfos = append(peerInfos, info)
|
||||
}
|
||||
@ -486,7 +481,7 @@ func (a *admin) getData_getDHT() []admin_nodeInfo {
|
||||
{"coords", fmt.Sprint(v.coords)},
|
||||
{"bucket", i},
|
||||
{"peer_only", isPeer},
|
||||
{"last_seen", fmt.Sprintf("%ds", int(now.Sub(v.recv).Seconds()))},
|
||||
{"last_seen", int(now.Sub(v.recv).Seconds())},
|
||||
}
|
||||
infos = append(infos, info)
|
||||
}
|
||||
@ -509,8 +504,8 @@ func (a *admin) getData_getSessions() []admin_nodeInfo {
|
||||
{"coords", fmt.Sprint(sinfo.coords)},
|
||||
{"mtu", sinfo.getMTU()},
|
||||
{"was_mtu_fixed", sinfo.wasMTUFixed},
|
||||
{"bytes_sent", fmt.Sprintf("%d", sinfo.bytesSent)},
|
||||
{"bytes_recvd", fmt.Sprintf("%d", sinfo.bytesRecvd)},
|
||||
{"bytes_sent", sinfo.bytesSent},
|
||||
{"bytes_recvd", sinfo.bytesRecvd},
|
||||
}
|
||||
infos = append(infos, info)
|
||||
}
|
||||
|
@ -127,7 +127,20 @@ func main() {
|
||||
for slk, slv := range tlv.(map[string]interface{}) {
|
||||
fmt.Printf("%-"+fmt.Sprint(maxWidths["key"])+"s ", slk)
|
||||
for _, k := range keyOrder {
|
||||
fmt.Printf("%-"+fmt.Sprint(maxWidths[k])+"s ", fmt.Sprint(slv.(map[string]interface{})[k]))
|
||||
preformatted := slv.(map[string]interface{})[k]
|
||||
var formatted string
|
||||
switch k {
|
||||
case "bytes_sent", "bytes_recvd":
|
||||
formatted = fmt.Sprintf("%d", uint(preformatted.(float64)))
|
||||
case "uptime", "last_seen":
|
||||
seconds := uint(preformatted.(float64)) % 60
|
||||
minutes := uint(preformatted.(float64)/60) % 60
|
||||
hours := uint(preformatted.(float64) / 60 / 60)
|
||||
formatted = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
|
||||
default:
|
||||
formatted = fmt.Sprint(preformatted)
|
||||
}
|
||||
fmt.Printf("%-"+fmt.Sprint(maxWidths[k])+"s ", formatted)
|
||||
}
|
||||
fmt.Println()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user