Mercurial > prosody-modules
annotate mod_statistics_cputotal/mod_statistics_cputotal.lua @ 5381:32a9817c7516
mod_firewall: Initialize compiled chunk just once for all handlers
This should fix a case where some stateful dependencies (such as throttles)
produce separate instances for every call to new_handler(), leading to
surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would
have separate rate limits).
This also adds better error handling in case the compiled code fails to run
for some reason.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 28 Apr 2023 13:27:06 +0100 |
parents | 4557ac5c205d |
children |
rev | line source |
---|---|
1378
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 -- Provides total CPU time, useful for DERIVE |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
1386
4557ac5c205d
mod_statistics_cputotal: Make global
Kim Alvefur <zash@zash.se>
parents:
1378
diff
changeset
|
3 module:set_global(); |
4557ac5c205d
mod_statistics_cputotal: Make global
Kim Alvefur <zash@zash.se>
parents:
1378
diff
changeset
|
4 |
1378
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 module:provides("statistics", { |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 statistics = { |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 cpu_total = { -- milliseconds of CPU time used |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 get = function() |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 return os.clock() * 1000; |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 end |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 } |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 } |
aa371405db34
mod_statistics_cputotal: Module that collects accumulated CPU usage statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 }); |