mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-05-21 01:15:07 +03:00
Expose download/upload rate per peer (#1206)
This commit is contained in:
parent
c22a746a1d
commit
9398cae230
5 changed files with 61 additions and 12 deletions
|
@ -356,13 +356,15 @@ type DataUnit uint64
|
|||
|
||||
func (d DataUnit) String() string {
|
||||
switch {
|
||||
case d > 1024*1024*1024*1024:
|
||||
return fmt.Sprintf("%2.ftb", float64(d)/1024/1024/1024/1024)
|
||||
case d > 1024*1024*1024:
|
||||
return fmt.Sprintf("%2.fgb", float64(d)/1024/1024/1024)
|
||||
case d > 1024*1024:
|
||||
return fmt.Sprintf("%2.fmb", float64(d)/1024/1024)
|
||||
case d >= 1024*1024*1024*1024:
|
||||
return fmt.Sprintf("%2.1fTB", float64(d)/1024/1024/1024/1024)
|
||||
case d >= 1024*1024*1024:
|
||||
return fmt.Sprintf("%2.1fGB", float64(d)/1024/1024/1024)
|
||||
case d >= 1024*1024:
|
||||
return fmt.Sprintf("%2.1fMB", float64(d)/1024/1024)
|
||||
case d >= 100:
|
||||
return fmt.Sprintf("%2.1fKB", float64(d)/1024)
|
||||
default:
|
||||
return fmt.Sprintf("%2.fkb", float64(d)/1024)
|
||||
return fmt.Sprintf("%dB", d)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,8 @@ type PeerEntry struct {
|
|||
Cost uint64 `json:"cost"`
|
||||
RXBytes DataUnit `json:"bytes_recvd,omitempty"`
|
||||
TXBytes DataUnit `json:"bytes_sent,omitempty"`
|
||||
RXRate DataUnit `json:"rate_recvd,omitempty"`
|
||||
TXRate DataUnit `json:"rate_sent,omitempty"`
|
||||
Uptime float64 `json:"uptime,omitempty"`
|
||||
Latency time.Duration `json:"latency_ms,omitempty"`
|
||||
LastErrorTime time.Duration `json:"last_error_time,omitempty"`
|
||||
|
@ -47,6 +49,8 @@ func (a *AdminSocket) getPeersHandler(_ *GetPeersRequest, res *GetPeersResponse)
|
|||
URI: p.URI,
|
||||
RXBytes: DataUnit(p.RXBytes),
|
||||
TXBytes: DataUnit(p.TXBytes),
|
||||
RXRate: DataUnit(p.RXRate),
|
||||
TXRate: DataUnit(p.TXRate),
|
||||
Uptime: p.Uptime.Seconds(),
|
||||
}
|
||||
if p.Latency > 0 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue