Mercurial > prosody-modules
view mod_measure_process/mod_measure_process.lua @ 5213:dc0f502c12f1
mod_http_oauth2: Fix authorization code logic
I have no idea what it did before or if it even worked.
RFC 6749 section 4.1.2 says:
> A maximum authorization code lifetime of 10 minutes is RECOMMENDED.
So this should prevent use of codes older than 10 minutes and remove
them from the cache some time after they expire.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 06 Mar 2023 16:49:43 +0100 |
parents | c26f515751af |
children |
line wrap: on
line source
module:set_global() local get_cpu_time = os.clock local custom_metric = require "core.statsmanager".metric local cpu_time = custom_metric( "counter", "process_cpu", "seconds", "CPU time used by Prosody as reported by clock(3)." ):with_labels() local lfs = require "lfs" module:hook("stats-update", function () cpu_time:set(get_cpu_time()) end); if lfs.attributes("/proc/self/statm", "mode") == "file" then local pagesize = module:get_option_number("memory_pagesize", 4096); -- getconf PAGESIZE local vsz = custom_metric( "gauge", "process_virtual_memory", "bytes", "Virtual memory size in bytes." ):with_labels() local rss = custom_metric( "gauge", "process_resident_memory", "bytes", "Resident memory size in bytes." ):with_labels() module:hook("stats-update", function () local statm, err = io.open("/proc/self/statm"); if not statm then module:log("error", tostring(err)); return; end -- virtual memory (caches, opened librarys, everything) vsz:set(statm:read("*n") * pagesize); -- resident set size (actually used memory) rss:set(statm:read("*n") * pagesize); statm:close(); end); end if lfs.attributes("/proc/self/fd", "mode") == "directory" then local open_fds = custom_metric( "gauge", "process_open_fds", "", "Number of open file descriptors." ):with_labels() local has_posix, posix = pcall(require, "util.pposix") local max_fds if has_posix then max_fds = custom_metric( "gauge", "process_max_fds", "", "Maximum number of open file descriptors" ):with_labels() else module:log("warn", "not reporting maximum number of file descriptors because mod_posix is not available") end local function limit2num(limit) if limit == "unlimited" then return math.huge end return limit end module:hook("stats-update", function () local count = 0 for _ in lfs.dir("/proc/self/fd") do count = count + 1 end open_fds:set(count) if has_posix then local ok, soft, hard = posix.getrlimit("NOFILE") if ok then max_fds:set(limit2num(soft or hard)); end end end); end