From 2f7da2c6ea762ccf72a9658ed2da163394652c16 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 8 Jun 2021 13:33:40 +0200 Subject: mod_http_file_share: Build list of measuring buckets for configured size limit Creates buckets up to the configured size limit or 1TB, whichever is smaller, e.g. {1K, 4K, 16K, ... 4M, 16M} --- plugins/mod_http_file_share.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'plugins/mod_http_file_share.lua') diff --git a/plugins/mod_http_file_share.lua b/plugins/mod_http_file_share.lua index ba6b97c5..d609b781 100644 --- a/plugins/mod_http_file_share.lua +++ b/plugins/mod_http_file_share.lua @@ -71,7 +71,13 @@ module:hook_global("stats-update", function () measure_quota_cache_size(quota_cache:count()); end); -local measure_uploads = module:measure("upload", "sizes"); +local buckets = {}; +for n = 10, 40, 2 do + local exp = math.floor(2 ^ n); + table.insert(buckets, exp); + if exp >= file_size_limit then break end +end +local measure_uploads = module:measure("upload", "sizes", {buckets = buckets}); -- Convenience wrapper for logging file sizes local function B(bytes) return hi.format(bytes, "B", "b"); end -- cgit v1.2.3