prometheus-node-exporter-lua: add missing metrics to ltq-dsl
authorAndre Heider <a.heider@gmail.com>
Fri, 11 Dec 2020 07:19:29 +0000 (08:19 +0100)
committerEtienne Champetier <champetier.etienne@gmail.com>
Tue, 2 Nov 2021 06:49:21 +0000 (02:49 -0400)
Two values were missing, add them to the appropriate metrics.

The dsl error vectors are new and useful stats to debug vector related
line deteriorations, see [0].

[0] https://forum.openwrt.org/t/vectoring-on-lantiq-vrx200-vr9-missing-callback-for-sending-error-samples/104046

Signed-off-by: Andre Heider <a.heider@gmail.com>
utils/prometheus-node-exporter-lua/Makefile
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/ltq-dsl.lua

index d39a5dfe098f25691771da9a7108ac5168416147..b0c8783fe8feb7b791570420f110ffbd6f44747b 100644 (file)
@@ -4,7 +4,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=prometheus-node-exporter-lua
-PKG_VERSION:=2021.09.24
+PKG_VERSION:=2021.10.31
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
index 0a33fa4fd9d4bbc30ffc3d33cde8f9d6c65381f0..cc52d27285b5ce19b0157690969ec3dc022c6b27 100644 (file)
@@ -10,6 +10,7 @@ local function scrape()
   local dsl_max_datarate = metric("dsl_max_datarate", "gauge")
   local dsl_error_seconds_total = metric("dsl_error_seconds_total", "counter")
   local dsl_errors_total = metric("dsl_errors_total", "counter")
+  local dsl_erb_total = metric("dsl_erb_total", "counter")
 
   local u = ubus.connect()
   local m = u:call("dsl", "metrics", {})
@@ -21,11 +22,13 @@ local function scrape()
     chipset = m.chipset,
     firmware_version = m.firmware_version,
     api_version = m.api_version,
+    driver_version = m.driver_version,
   }, 1)
 
   -- dsl line settings information
   metric("dsl_line_info", "gauge", {
     annex = m.annex,
+    standard = m.standard,
     mode = m.mode,
     profile = m.profile,
   }, 1)
@@ -81,6 +84,12 @@ local function scrape()
   dsl_errors_total({err="non pre-emptive crc error", loc="far"}, m.errors.far.crc_p)
   dsl_errors_total({err="pre-emptive crc error", loc="near"}, m.errors.near.crcp_p)
   dsl_errors_total({err="pre-emptive crc error", loc="far"}, m.errors.far.crcp_p)
+
+  -- dsl error vectors
+  if m.erb ~= nil then
+    dsl_erb_total({counter="sent"}, m.erb.sent)
+    dsl_erb_total({counter="discarded"}, m.erb.discarded)
+  end
 end
 
 return { scrape = scrape }