Browse Source

collectd: Fix various issues with lantiq dsl metrics.

- Handle bool values correctly. We get the values as bool, but collectd
  requires a bool value to be numeric in the range [0, 1].
- Remove profile and mode values. Those are strings, which cannot be
  represented by collectd.
- Update collectd type for some values.
- Fix latn value being present twice.

Signed-off-by: Dominik Riebeling <bluebrother@posteo.de>
(cherry picked from commit eb632da5bb)
lilik-openwrt-22.03
Dominik Riebeling 2 years ago
parent
commit
d45c8f4c06
1 changed files with 12 additions and 13 deletions
  1. +12
    -13
      utils/collectd/files/lua-scripts/dsl.lua

+ 12
- 13
utils/collectd/files/lua-scripts/dsl.lua View File

@ -44,7 +44,7 @@ local line_vars = {
type = "bitrate" type = "bitrate"
}, },
{ {
name = "latn",
name = "interleave_delay",
type = "latency" type = "latency"
} }
} }
@ -52,19 +52,19 @@ local line_vars = {
local errors = { local errors = {
{ {
name = "uas", name = "uas",
type = "gauge"
type = "count"
}, },
{ {
name = "rx_corrupted", name = "rx_corrupted",
type = "gauge"
type = "errors"
}, },
{ {
name = "rx_retransmitted", name = "rx_retransmitted",
type = "gauge"
type = "errors"
}, },
{ {
name = "tx_retransmitted", name = "tx_retransmitted",
type = "gauge"
type = "errors"
} }
} }
@ -80,14 +80,6 @@ local erb_vars = {
} }
local general_vars = { local general_vars = {
{
name = "profile",
type = "gauge"
},
{
name = "mode",
type = "gauge"
},
{ {
name = "state_num", name = "state_num",
type = "gauge" type = "gauge"
@ -117,6 +109,13 @@ local function get_values(hostname, variables, metrics, direction)
if metrics and metrics[name] ~= nil then if metrics and metrics[name] ~= nil then
local value = metrics[name] local value = metrics[name]
local metric = build_metric(name, direction) local metric = build_metric(name, direction)
if information["type"] == "bool" then
if metrics[name] == true then
value = 1
else
value = 0
end
end
local t = { local t = {
host = host, host = host,


Loading…
Cancel
Save