annotate mod_stats39/README.markdown @ 5536:96dec7681af8

mod_firewall: Update user marks to store instantly via map store The original approach was to keep marks in memory only, and persist them at shutdown. That saves I/O, at the cost of potentially losing marks on an unclean shutdown. This change persists marks instantly, which may have some performance overhead but should be more "correct". It also splits the marking/unmarking into an event which may be watched or even fired by other modules.
author Matthew Wild <mwild1@gmail.com>
date Thu, 08 Jun 2023 16:20:42 +0100
parents bac3dae031ee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4451
f1a63271dcfc Add tag 'Statistics' to some modules to ease discoverability
Kim Alvefur <zash@zash.se>
parents: 3845
diff changeset
1 ---
f1a63271dcfc Add tag 'Statistics' to some modules to ease discoverability
Kim Alvefur <zash@zash.se>
parents: 3845
diff changeset
2 labels:
f1a63271dcfc Add tag 'Statistics' to some modules to ease discoverability
Kim Alvefur <zash@zash.se>
parents: 3845
diff changeset
3 - 'Statistics'
f1a63271dcfc Add tag 'Statistics' to some modules to ease discoverability
Kim Alvefur <zash@zash.se>
parents: 3845
diff changeset
4 ...
f1a63271dcfc Add tag 'Statistics' to some modules to ease discoverability
Kim Alvefur <zash@zash.se>
parents: 3845
diff changeset
5
3844
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 This module provides **public** access to Prosodys
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 [internal statistics][doc:statistics] trough the
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 [XEP-0039: Statistics Gathering] protocol. This is a simple protocol
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 that returns triplets of name, unit and value for each know statistic
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 collected by Prosody. The names used are the internal names assigned by
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 modules or statsmanager, names from the registry are **not** used.
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 # Configuration
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 Enabled as usual by adding to [`modules_enabled`][doc:modules_enabled]:
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 ```lua
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 -- Enable Prosodys internal statistics gathering
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 statistics = "internal"
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 -- and enable the module
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 modules_enabled = {
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 -- other modules
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 "stats39";
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 }
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 ```
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 # Usage
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 ## Example
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 Statistics can be queried from the XML console of clients that have one:
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 ```xml
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36 C:
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 <iq type="get" to="example.com" id="dTMERjt5">
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38 <query xmlns="http://jabber.org/protocol/stats"/>
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 </iq>
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
40
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
41 S:
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
42 <iq type="result" to="example.com" id="dTMERjt5">
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43 <query xmlns="http://jabber.org/protocol/stats">
3845
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
44 <stat name="cpu.clock:amount" value="0.212131"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
45 <stat name="cpu.percent:amount" value="0"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
46 <stat name="memory.allocated:amount" value="8.30259e+06"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
47 <stat name="memory.allocated_mmap:amount" value="401408"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
48 <stat name="memory.lua:amount" value="6.21347e+06"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
49 <stat name="memory.returnable:amount" value="13872"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
50 <stat name="memory.rss:amount" value="2.03858e+07"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
51 <stat name="memory.total:amount" value="6.53885e+07"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
52 <stat name="memory.unused:amount" value="14864"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
53 <stat name="memory.used:amount" value="8.28773e+06"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
54 <stat name="/*/mod_c2s/connections:amount" value="0"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
55 <stat name="/*/mod_c2s/ipv6:amount" value="0"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
56 <stat name="/*/mod_s2s/connections:amount" value="0"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
57 <stat name="/*/mod_s2s/ipv6:amount" value="0"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
58 <stat name="stats.collection:duration" unit="seconds" value="0.000125647"/>
117f0fb8cb15 mod_stats39: Add actual example stats
Kim Alvefur <zash@zash.se>
parents: 3844
diff changeset
59 <stat name="stats.processing:duration" unit="seconds" value="0"/>
3844
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
60 </query>
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
61 </iq>
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
62 ```
c240934703bc mod_stats39: Add a README
Kim Alvefur <zash@zash.se>
parents:
diff changeset
63
4595
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
64 # Compatibly
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
65
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
66 Prosody version Works
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
67 ----------------- -------
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
68 0.9.x No
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
69 0.10.x Yes
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
70 0.11.x Yes
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
71 Trunk[^1] No
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
72
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
73 [^1]: Does not work with trunk since the [change to
bac3dae031ee Add note of incompatibility with trunk since 5f15ab7c6ae5
Kim Alvefur <zash@zash.se>
parents: 4451
diff changeset
74 OpenMetrics](https://hg.prosody.im/trunk/rev/5f15ab7c6ae5)