Software /
code /
prosody-modules
Annotate
mod_measure_lua/mod_measure_lua.lua @ 5325:11b37063d80a
mod_audit: Add some control over output columns via command-line flags
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 07 Apr 2023 13:25:34 +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); |