summaryrefslogtreecommitdiffstats
path: root/examples/rgw/lua/prometheus_adapter.lua
diff options
context:
space:
mode:
Diffstat (limited to 'examples/rgw/lua/prometheus_adapter.lua')
-rw-r--r--examples/rgw/lua/prometheus_adapter.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/rgw/lua/prometheus_adapter.lua b/examples/rgw/lua/prometheus_adapter.lua
new file mode 100644
index 000000000..4f0af9a3b
--- /dev/null
+++ b/examples/rgw/lua/prometheus_adapter.lua
@@ -0,0 +1,23 @@
+local http = require("socket.http")
+local ltn12 = require("ltn12")
+
+local respbody = {}
+local op = "rgw_other_request_content_length"
+if (Request.RGWOp == "put_obj") then
+ op = "rgw_put_request_content_length"
+elseif (Request.RGWOp == "get_obj") then
+ op = "rgw_get_request_content_length"
+end
+local field = op .. " " .. tostring(Request.ContentLength) .. "\n"
+
+local body, code, headers, status = http.request{
+ url = "http://127.0.0.1:9091/metrics/job/rgw",
+ method = "POST",
+ headers = {
+ ["Content-Type"] = "application/x-www-form-urlencoded",
+ ["Content-Length"] = string.len(field)
+ },
+ source = ltn12.source.string(field),
+ sink = ltn12.sink.table(respbody),
+}
+