Limit utilization to 100 %
I don't know the reason for weird values
This commit is contained in:
parent
aab0f81676
commit
156122e62a
|
@ -1,5 +1,9 @@
|
||||||
package data
|
package data
|
||||||
|
|
||||||
|
import (
|
||||||
|
"math"
|
||||||
|
)
|
||||||
|
|
||||||
type Wireless struct {
|
type Wireless struct {
|
||||||
TxPower24 uint32 `json:"txpower24,omitempty"`
|
TxPower24 uint32 `json:"txpower24,omitempty"`
|
||||||
Channel24 uint32 `json:"channel24,omitempty"`
|
Channel24 uint32 `json:"channel24,omitempty"`
|
||||||
|
@ -41,15 +45,15 @@ func (cur *WirelessAirtime) SetUtilization(prev *WirelessAirtime) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
active := float32(cur.Active_time) - float32(prev.Active_time)
|
active := float64(cur.Active_time) - float64(prev.Active_time)
|
||||||
busy := float32(cur.Busy_time) - float32(prev.Busy_time)
|
busy := float64(cur.Busy_time) - float64(prev.Busy_time)
|
||||||
rx := float32(cur.Tx_time) - float32(prev.Tx_time)
|
rx := float64(cur.Tx_time) - float64(prev.Tx_time)
|
||||||
tx := float32(cur.Rx_time) - float32(prev.Rx_time)
|
tx := float64(cur.Rx_time) - float64(prev.Rx_time)
|
||||||
|
|
||||||
// Calculate utilizations
|
// Calculate utilizations
|
||||||
if active > 0 {
|
if active > 0 {
|
||||||
cur.ChanUtil = 100 * (busy + rx + tx) / active
|
cur.ChanUtil = float32(math.Min(100, 100*(busy+rx+tx)/active))
|
||||||
cur.RxUtil = 100 * rx / active
|
cur.RxUtil = float32(math.Min(100, 100*rx/active))
|
||||||
cur.TxUtil = 100 * tx / active
|
cur.TxUtil = float32(math.Min(100, 100*tx/active))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue