prometheus-node-exporter-lua: rework cpu collector

replace 2 string.match and 1 string.gmatch (space_split)
by 1 string.match

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
This commit is contained in:
Etienne Champetier 2017-12-08 19:03:37 -08:00
parent ed7d60d871
commit ea5b7492fe

View file

@ -13,12 +13,13 @@ local function scrape()
"softirq", "steal", "guest", "guest_nice"}
local i = 0
local cpu_metric = metric("node_cpu", "counter")
while string.match(stat, string.format("cpu%d ", i)) do
local cpu = space_split(string.match(stat, string.format("cpu%d ([0-9 ]+)", i)))
local labels = {cpu = "cpu" .. i}
while true do
local cpu = {string.match(stat, "cpu"..i.." (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+) (%d+)")}
if #cpu ~= 10 then
break
end
for ii, mode in ipairs(cpu_mode) do
labels['mode'] = mode
cpu_metric(labels, cpu[ii] / 100)
cpu_metric({cpu="cpu"..i, mode=mode}, cpu[ii] / 100)
end
i = i + 1
end