This module provides public access to Prosodys internal statistics trough the XEP-0039: Statistics Gathering protocol. This is a simple protocol that returns triplets of name, unit and value for each know statistic collected by Prosody. The names used are the internal names assigned by modules or statsmanager, names from the registry are not used.
Enabled as usual by adding to modules_enabled
:
-- Enable Prosodys internal statistics gathering
= "internal"
statistics
-- and enable the module
= {
modules_enabled -- other modules
"stats39";
}
Statistics can be queried from the XML console of clients that have one:
C:iq type="get" to="example.com" id="dTMERjt5">
<query xmlns="http://jabber.org/protocol/stats"/>
<iq>
</
S:iq type="result" to="example.com" id="dTMERjt5">
<query xmlns="http://jabber.org/protocol/stats">
<stat name="cpu.clock:amount" value="0.212131"/>
<stat name="cpu.percent:amount" value="0"/>
<stat name="memory.allocated:amount" value="8.30259e+06"/>
<stat name="memory.allocated_mmap:amount" value="401408"/>
<stat name="memory.lua:amount" value="6.21347e+06"/>
<stat name="memory.returnable:amount" value="13872"/>
<stat name="memory.rss:amount" value="2.03858e+07"/>
<stat name="memory.total:amount" value="6.53885e+07"/>
<stat name="memory.unused:amount" value="14864"/>
<stat name="memory.used:amount" value="8.28773e+06"/>
<stat name="/*/mod_c2s/connections:amount" value="0"/>
<stat name="/*/mod_c2s/ipv6:amount" value="0"/>
<stat name="/*/mod_s2s/connections:amount" value="0"/>
<stat name="/*/mod_s2s/ipv6:amount" value="0"/>
<stat name="stats.collection:duration" unit="seconds" value="0.000125647"/>
<stat name="stats.processing:duration" unit="seconds" value="0"/>
<query>
</iq> </
Prosody version | Works |
---|---|
0.9.x | No |
0.10.x | Yes |
0.11.x | Yes |
Trunk1 | No |
Does not work with trunk since the change to OpenMetrics↩︎
With the plugin installer in Prosody 0.12 you can use:
sudo prosodyctl install --server=https://modules.prosody.im/rocks/ mod_stats39
For earlier versions see the documentation for installing 3rd party modules