diff options
| -rw-r--r-- | prometheus_tp_link_exporter/__main__.py | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/prometheus_tp_link_exporter/__main__.py b/prometheus_tp_link_exporter/__main__.py index 27472d0..049578b 100644 --- a/prometheus_tp_link_exporter/__main__.py +++ b/prometheus_tp_link_exporter/__main__.py @@ -33,10 +33,14 @@ node_network_receive_bytes_total = Counter( def process_node_network_receive_bytes_total(): """Process request.""" for device in ifconfig_devices(): - node_network_receive_bytes_total.labels(device=device["name"]).inc( - device["rx_bytes"] - - node_network_receive_bytes_total._metrics[(device["name"],)]._value._value - ) + if (device["name"],) in node_network_receive_bytes_total._metrics: + previos_value = node_network_receive_bytes_total._metrics[(device["name"],)]._value._value + if previos_value < device["rx_bytes"]: + node_network_receive_bytes_total.labels(device=device["name"]).inc( + device["rx_bytes"] - previos_value + ) + else: + node_network_receive_bytes_total.labels(device=device["name"]).inc(device["rx_bytes"]) node_network_transmit_bytes_total = Counter( @@ -49,12 +53,16 @@ node_network_transmit_bytes_total = Counter( def process_node_network_transmit_bytes_total(): """Process request.""" for device in ifconfig_devices(): - node_network_transmit_bytes_total.labels(device=device["name"]).inc( - device["tx_bytes"] - - node_network_transmit_bytes_total._metrics[ + if (device["name"],) in node_network_transmit_bytes_total._metrics: + previos_value = node_network_transmit_bytes_total._metrics[ (device["name"],) ]._value._value - ) + if previos_value < device["tx_bytes"]: + node_network_transmit_bytes_total.labels(device=device["name"]).inc( + device["tx_bytes"] - previos_value + ) + else: + node_network_transmit_bytes_total.labels(device=device["name"]).inc(device["tx_bytes"]) def main(): |
