Mercurial > prosody-modules
comparison mod_munin/mod_munin.lua @ 1648:648ce9087902
mod_munin: Cleanup [luacheck]
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 07 Apr 2015 17:04:06 +0200 |
| parents | 0f20390f6fa5 |
| children | accbf0db0246 |
comparison
equal
deleted
inserted
replaced
| 1647:8860405e2af6 | 1648:648ce9087902 |
|---|---|
| 2 | 2 |
| 3 local s_format = string.format; | 3 local s_format = string.format; |
| 4 local array = require"util.array"; | 4 local array = require"util.array"; |
| 5 local it = require"util.iterators"; | 5 local it = require"util.iterators"; |
| 6 local mt = require"util.multitable"; | 6 local mt = require"util.multitable"; |
| 7 local set = require"util.set"; | |
| 8 | 7 |
| 9 local meta = mt.new(); meta.data = module:shared"meta"; | 8 local meta = mt.new(); meta.data = module:shared"meta"; |
| 10 local data = mt.new(); data.data = module:shared"data"; | 9 local data = mt.new(); data.data = module:shared"data"; |
| 11 | 10 |
| 12 local munin_listener = {}; | 11 local munin_listener = {}; |
| 45 | 44 |
| 46 function munin_commands.cap(conn) | 45 function munin_commands.cap(conn) |
| 47 conn:write("cap\n"); | 46 conn:write("cap\n"); |
| 48 end | 47 end |
| 49 | 48 |
| 50 function munin_commands.list(conn, line) | 49 function munin_commands.list(conn) |
| 51 conn:write(array(it.keys(data.data)):concat(" ") .. "\n"); | 50 conn:write(array(it.keys(data.data)):concat(" ") .. "\n"); |
| 52 end | 51 end |
| 53 | 52 |
| 54 function munin_commands.config(conn, line) | 53 function munin_commands.config(conn, line) |
| 55 -- TODO what exactly? | 54 -- TODO what exactly? |
| 56 local stat = line:match("%s(%S+)"); | 55 local stat = line:match("%s(%S+)"); |
| 57 if not stat then conn:write("# Unknown service\n.\n"); return end | 56 if not stat then conn:write("# Unknown service\n.\n"); return end |
| 58 for key, name, k, value in meta:iter(stat, "", nil) do | 57 for _, _, k, value in meta:iter(stat, "", nil) do |
| 59 conn:write(s_format("%s %s\n", k, value)); | 58 conn:write(s_format("%s %s\n", k, value)); |
| 60 end | 59 end |
| 61 for key, name, k, value in meta:iter(stat, nil, nil) do | 60 for _, name, k, value in meta:iter(stat, nil, nil) do |
| 62 if name ~= "" then | 61 if name ~= "" then |
| 63 conn:write(s_format("%s.%s %s\n", name, k, value)); | 62 conn:write(s_format("%s.%s %s\n", name, k, value)); |
| 64 end | 63 end |
| 65 end | 64 end |
| 66 conn:write(".\n"); | 65 conn:write(".\n"); |
| 67 end | 66 end |
| 68 | 67 |
| 69 function munin_commands.fetch(conn, line) | 68 function munin_commands.fetch(conn, line) |
| 70 local stat = line:match("%s(%S+)"); | 69 local stat = line:match("%s(%S+)"); |
| 71 if not stat then conn:write("# Unknown service\n.\n"); return end | 70 if not stat then conn:write("# Unknown service\n.\n"); return end |
| 72 for key, name, value in data:iter(stat, nil) do | 71 for _, name, value in data:iter(stat, nil) do |
| 73 conn:write(s_format("%s.value %s\n", name, tostring(value))); | 72 conn:write(s_format("%s.value %s\n", name, tostring(value))); |
| 74 end | 73 end |
| 75 conn:write(".\n"); | 74 conn:write(".\n"); |
| 76 end | 75 end |
| 77 | 76 |
| 107 elseif not meta:get(key, name, "label") then | 106 elseif not meta:get(key, name, "label") then |
| 108 meta:set(key, name, "label", name); | 107 meta:set(key, name, "label", name); |
| 109 end | 108 end |
| 110 | 109 |
| 111 data:set(key, name, value); | 110 data:set(key, name, value); |
| 112 else | |
| 113 -- module:log("debug", "Ignoring stat %q", stat); | |
| 114 end | 111 end |
| 115 end | 112 end |
| 116 end); | 113 end); |
| 117 | 114 |
| 118 module:provides("net", { | 115 module:provides("net", { |
