Fixed inaccurate 'node_network_speed_bytes' when speeds are low (#1580)
Integer division and the order of operations when converting Mbps to Bps results in a loss of accuracy if the interface speeds are set low. e.g. 100 Mbps is reported as 12000000 Bps, should be 12500000 10 Mbps is reported as 1000000 Bps, should be 1250000 Signed-off-by: Thomas Lin <t.lin@mail.utoronto.ca>
This commit is contained in:
parent
f316099f87
commit
3ddc82c2d8
|
@ -34,6 +34,7 @@
|
|||
* [BUGFIX] Strip path.rootfs from mountpoint labels #1421
|
||||
* [BUGFIX] Fix empty string in path.rootfs #1464
|
||||
* [BUGFIX] Fix typo in cpufreq metric names #1510
|
||||
* [BUGFIX] Fix network speed math #1580
|
||||
|
||||
## 0.18.1 / 2019-06-04
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ func (c *netClassCollector) Update(ch chan<- prometheus.Metric) error {
|
|||
}
|
||||
|
||||
if ifaceInfo.Speed != nil {
|
||||
speedBytes := int64(*ifaceInfo.Speed / 8 * 1000 * 1000)
|
||||
speedBytes := int64(*ifaceInfo.Speed * 1000 * 1000 / 8)
|
||||
pushMetric(ch, c.subsystem, "speed_bytes", speedBytes, ifaceInfo.Name, prometheus.GaugeValue)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue