Mercurial > prosody-modules
annotate mod_measure_pending_s2s/mod_measure_pending_s2s.lua @ 6562:5da6fb562df9 default tip
mod_unified_push: Fix push error handling (fixes #2000)
Use the error object that send_iq() passes
as an argument to it's reject callback instead of attempting
and failing to do the parsing in the callback itself.
| author | kmq |
|---|---|
| date | Mon, 06 Jul 2026 14:23:57 +0200 |
| parents | 4c98f4340bf1 |
| children |
| rev | line source |
|---|---|
|
6342
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 module:set_global(); |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 local measure_pending_connections = module:metric( |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 "gauge", "connections_pending_outbound", "", |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 "In-progress outbound s2s connections", |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 {"host"} |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 ); |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 local measure_pending_stanzas = module:metric( |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 "gauge", "stanzas_pending_outbound", "", |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 "Outbound s2s stanzas queued for delivery", |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 {"host"} |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 ); |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 local hosts = {}; |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 function module.add_host(host_module) |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 hosts[host_module.host] = true; |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 function host_module.unload() |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 hosts[host_module.host] = nil; |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 end |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 end |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 module:hook("stats-update", function () |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 for host in pairs(hosts) do |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 local n_pending_sessions = 0; |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 local n_pending_stanzas = 0; |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 for _, session in pairs(prosody.hosts[host].s2sout) do |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 if session.sendq then |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 n_pending_sessions = n_pending_sessions + 1; |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 n_pending_stanzas = n_pending_stanzas + session.sendq:count(); |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 end |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 end |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 measure_pending_connections:with_labels(host):set(n_pending_sessions); |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 measure_pending_stanzas:with_labels(host):set(n_pending_stanzas); |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 end |
|
4c98f4340bf1
mod_measure_pending_s2s: New module to measure pending s2s/stanzas
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 end); |
