Mercurial > prosody-modules
comparison mod_measure_cpu/mod_measure_cpu.lua @ 3444:e0fb97f47212
mod_measure_cpu: Rename counter metric to avoid name clash (thanks pep.)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 16 Jan 2019 17:30:23 +0100 |
parents | 8357cabc31f6 |
children | 2af0301af734 |
comparison
equal
deleted
inserted
replaced
3443:284d8c18060e | 3444:e0fb97f47212 |
---|---|
4 local mt = require"util.multitable"; | 4 local mt = require"util.multitable"; |
5 local get_time = require "socket".gettime; | 5 local get_time = require "socket".gettime; |
6 local get_clock = os.clock; | 6 local get_clock = os.clock; |
7 | 7 |
8 local measure_cpu_now = measure("amount", "cpu.percent"); -- Current percentage | 8 local measure_cpu_now = measure("amount", "cpu.percent"); -- Current percentage |
9 local measure_cpu_now = measure("counter", "cpu.clock"); | 9 local measure_cpu_total = measure("counter", "cpu.clock"); |
10 | 10 |
11 local last_cpu_wall, last_cpu_clock; | 11 local last_cpu_wall, last_cpu_clock; |
12 module:hook("stats-update", function () | 12 module:hook("stats-update", function () |
13 local new_wall, new_clock = get_time(), get_clock(); | 13 local new_wall, new_clock = get_time(), get_clock(); |
14 local pc = 0; | 14 local pc = 0; |
16 pc = 100/((new_wall-last_cpu_wall)/(new_clock-last_cpu_clock)); | 16 pc = 100/((new_wall-last_cpu_wall)/(new_clock-last_cpu_clock)); |
17 end | 17 end |
18 last_cpu_wall, last_cpu_clock = new_wall, new_clock; | 18 last_cpu_wall, last_cpu_clock = new_wall, new_clock; |
19 | 19 |
20 measure_cpu_now(pc); | 20 measure_cpu_now(pc); |
21 measure_cpu_now(new_clock); | 21 measure_cpu_total(new_clock); |
22 end); | 22 end); |
23 | 23 |
24 -- Some metadata for mod_munin | 24 -- Some metadata for mod_munin |
25 local munin_meta = mt.new(); munin_meta.data = module:shared"munin/meta"; | 25 local munin_meta = mt.new(); munin_meta.data = module:shared"munin/meta"; |
26 local key = "global_cpu_amount"; | 26 local key = "global_cpu_amount"; |