Software /
code /
prosody-modules
Annotate
mod_measure_lua/mod_measure_lua.lua @ 4777:883ad8b0a7c0
mod_http_admin_api: Export total storage use via mod_http_file_share
Does not include size of other user data, chat logs etc. Uploads will
likely be a significant fraction of total storage use.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 18 Nov 2021 19:28:43 +0100 |
parent | 4602:78f1515575ab |
rev | line source |
---|---|
4578
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
1 module:set_global() |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
2 |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
3 local custom_metric = require "core.statsmanager".metric |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
4 local gc_bytes = custom_metric( |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
5 "gauge", "lua_heap", "bytes", |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
6 "Memory used by objects under control of the Lua garbage collector" |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
7 ):with_labels() |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
8 |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
9 module:hook("stats-update", function () |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
10 local kbytes = collectgarbage("count"); |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
11 gc_bytes:set(kbytes * 1024); |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
12 end); |
d95fcde6e39d
mod_measure_lua: add openmetrics-spirited way to collect lua memory use
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
13 |
4602
78f1515575ab
mod_measure_lua: Use gauge instead of counter for Lua version (thanks jonas’)
Kim Alvefur <zash@zash.se>
parents:
4601
diff
changeset
|
14 custom_metric("gauge", "lua_info", "", "Lua runtime version", { "version" }):with_labels(_VERSION):set(1); |