From d2ef0e2d01fbe0af491dafdc8893290bf99a641c Mon Sep 17 00:00:00 2001 From: Hailong Liu Date: Thu, 18 May 2023 09:49:45 +0000 Subject: [PATCH] pod: Add global direct reclaim latency of cgroup Signed-off-by: Hailong Liu --- .../container/cg_mem_drcm_glob_latency.lua | 43 +++++++++++++++++++ .../tools/monitor/unity/collector/plugin.yaml | 7 ++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 source/tools/monitor/unity/collector/container/cg_mem_drcm_glob_latency.lua diff --git a/source/tools/monitor/unity/collector/container/cg_mem_drcm_glob_latency.lua b/source/tools/monitor/unity/collector/container/cg_mem_drcm_glob_latency.lua new file mode 100644 index 00000000..8651b277 --- /dev/null +++ b/source/tools/monitor/unity/collector/container/cg_mem_drcm_glob_latency.lua @@ -0,0 +1,43 @@ +--- +--- Created by liaozhaoyan. +--- DateTime: 2023/5/18 +--- + +require("common.class") +local pystring = require("common.pystring") +local CvProc = require("collector.vproc") +local root = "sys/fs/cgroup/memory/" +local dfile = "/memory.direct_reclaim_global_latency" + +local CgMemGlobDrcmLat = class("cgGlbDrcmLatency", CvProc) + +--ls{}, (pod_name and docker_name +function CgMemGlobDrcmLat:_init_(proto, pffi, mnt, path, ls) + CvProc._init_(self, proto, pffi, mnt, root .. path .. dfile) + self.ls = ls +end + +function CgMemGlobDrcmLat:proc(elapsed, lines) + -- if pFile not valid ,return -1 + local c = 1 + CvProc.proc(self) + local values = {} + + for line in io.lines(self.pFile) do + local cell = pystring:split(line) + local tmp = cell[1] + tmp = string.gsub(tmp, ":", "", 1) + tmp = string.gsub(tmp, ">=", "", 1) + tmp = string.gsub(tmp, "-", "to", 1) + tmp = string.gsub(tmp, "%(.*%)", "", 1) + values[c] = { + name = "memDrcm_glb_lat_"..tmp, + value = tonumber(cell[2]) + } + c = c + 1 + end + self:appendLine(self:_packProto("cgGlbDrcmLatency", self.ls, values)) + self:push(lines) +end + +return CgMemGlobDrcmLat diff --git a/source/tools/monitor/unity/collector/plugin.yaml b/source/tools/monitor/unity/collector/plugin.yaml index b9861be0..ef4240cc 100644 --- a/source/tools/monitor/unity/collector/plugin.yaml +++ b/source/tools/monitor/unity/collector/plugin.yaml @@ -29,7 +29,7 @@ container: #"cg_cpuacct_stat" is a substitute of cg_cpuacct_proc_stat luaPlugin: ["cg_cpu_stat", "cg_cpuacct_proc_stat", "cg_cpuacct_wait_latency", "cg_memory_dcmp_latency", "cg_memory_drcm_latency", "cg_memory_fail_cnt", "cg_memory_util", - "cg_pmu_events", "cg_cpu_cfs_quota"] + "cg_pmu_events", "cg_cpu_cfs_quota", "cg_mem_drcm_glob_latency"] directCgPath: - "/" - "/kubepods.slice" @@ -276,6 +276,11 @@ metrics: head: value help: "sysak_cg_mem_drcm_latency" type: "gauge" + - title: sysak_cg_mem_glob_drcm_latency + from: cgGlbDrcmLatency + head: value + help: "sysak_cg_mem_glob_drcm_latency" + type: "gauge" - title: sysak_cg_mem_dcmp_latency from: cg_memdcmp_latency head: value -- Gitee