Mercurial > prosody-modules
annotate mod_measure_malloc/mod_measure_malloc.lua @ 4579:b305814bd930
mod_muc_dicebot: A thing to roll dice
Do you see what happens, Jitsi? Do you see what happens when you
make it hard for me to use a proper bot? This is what happens,
Jitsi. This is what happens when you meet a stranger in the alps!
Ahem. In all seriousness, this is more of a quick hack than
anything else. It will look for `.r` in MUC messages and if it
finds it, it'll interpret it as an instruction to roll a few
dice. Injects the results in the body of the message. Eats the
message alive if it is malformed.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Sat, 29 May 2021 15:17:05 +0200 |
parents | 5b4f43b90766 |
children | b9af1ccac98b |
rev | line source |
---|---|
1623
2c39af0fb93b
mod_measure_memory: Module for polling memory useage from Lua, meminfo() and /proc depending on availability
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 module:set_global(); |
2c39af0fb93b
mod_measure_memory: Module for polling memory useage from Lua, meminfo() and /proc depending on availability
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
4575
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
3 local metric = require"core.statsmanager".metric; |
2708
07d6077d2db7
mod_measure_memory: Split out mallinfo measuring into a separate module, mod_measure_malloc
Kim Alvefur <zash@zash.se>
parents:
2436
diff
changeset
|
4 local pposix = require"util.pposix"; |
1623
2c39af0fb93b
mod_measure_memory: Module for polling memory useage from Lua, meminfo() and /proc depending on availability
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 |
4575
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
6 local allocated = metric( |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
7 "gauge", "malloc_heap_allocated", "bytes", |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
8 "Allocated bytes by mode of allocation", |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
9 {"mode"} |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
10 ); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
11 |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
12 local used = metric( |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
13 "gauge", "malloc_heap_used", "bytes", |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
14 "Used bytes" |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
15 ):with_labels(); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
16 |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
17 local unused = metric( |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
18 "gauge", "malloc_heap_unused", "bytes", |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
19 "Unused bytes" |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
20 ):with_labels(); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
21 |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
22 local returnable = metric( |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
23 "gauge", "malloc_heap_returnable", "bytes", |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
24 "Returnable bytes" |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
25 ):with_labels(); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
26 |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
27 module:hook("stats-update", function () |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
28 meminfo = pposix.meminfo(); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
29 if meminfo.allocated then |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
30 allocated:with_labels("sbrk"):set(meminfo.allocated); |
1623
2c39af0fb93b
mod_measure_memory: Module for polling memory useage from Lua, meminfo() and /proc depending on availability
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 end |
4575
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
32 if meminfo.allocated_mmap then |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
33 allocated:with_labels("mmap"):set(meminfo.allocated_mmap); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
34 end |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
35 if meminfo.used then |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
36 used:set(meminfo.used); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
37 end |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
38 if meminfo.unused then |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
39 unused:set(meminfo.unused); |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
40 end |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
41 if meminfo.returnable then |
5b4f43b90766
mod_measure_malloc: port to most recent trunk statistics API
Jonas Schäfer <jonas@wielicki.name>
parents:
3367
diff
changeset
|
42 returnable:set(meminfo.returnable); |
2708
07d6077d2db7
mod_measure_memory: Split out mallinfo measuring into a separate module, mod_measure_malloc
Kim Alvefur <zash@zash.se>
parents:
2436
diff
changeset
|
43 end |
1623
2c39af0fb93b
mod_measure_memory: Module for polling memory useage from Lua, meminfo() and /proc depending on availability
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 end); |