From 0a4abd532ebb3425ec86d53a470cac0f43ebb313 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Wed, 6 Nov 2019 10:49:30 +0000 Subject: [PATCH] Add support for gathering Slab memory usage This is useful, for example when monitoring Slab memory leaks. To support gathering this metric a minimum version of psutil 5.4.4 is required (released on Apr 13th 2018). Story: 2006815 Task: 37375 Change-Id: Ibe8def9e2a7c967a34236889aa03b287065abcdc --- docs/Plugins.md | 1 + monasca_agent/collector/checks_d/memory.py | 7 +++++++ .../notes/add-slab-usage-metric-e7504c57e4b3ba16.yaml | 3 +++ 3 files changed, 11 insertions(+) create mode 100644 releasenotes/notes/add-slab-usage-metric-e7504c57e4b3ba16.yaml diff --git a/docs/Plugins.md b/docs/Plugins.md index 71c7783c..be8be26a 100644 --- a/docs/Plugins.md +++ b/docs/Plugins.md @@ -459,6 +459,7 @@ instances: | mem.used_cached | | Mbytes of memory used for the page cache | mem.used_shared | | Mbytes of memory shared between separate processes and typically used for inter-process communication | mem.used_real_mb | | Mbytes of memory currently in use less mem.used_buffers and mem.used_cached +| mem.used_slab_mb | | Mbytes of memory currently allocated to slab. Requires psutil >=5.4.4. ### Disk | Metric Name | Dimensions | Semantics | diff --git a/monasca_agent/collector/checks_d/memory.py b/monasca_agent/collector/checks_d/memory.py index 9179cc00..da5bb01c 100644 --- a/monasca_agent/collector/checks_d/memory.py +++ b/monasca_agent/collector/checks_d/memory.py @@ -97,4 +97,11 @@ class Memory(checks.AgentCheck): dimensions=dimensions) count += 1 + # The slab metric was added in psutil 5.4.4 + if hasattr(mem_info, 'slab') and mem_info.slab: + self.gauge('mem.used_slab_mb', + int(mem_info.slab / 1048576), + dimensions=dimensions) + count += 1 + log.debug('Collected {0} memory metrics'.format(count)) diff --git a/releasenotes/notes/add-slab-usage-metric-e7504c57e4b3ba16.yaml b/releasenotes/notes/add-slab-usage-metric-e7504c57e4b3ba16.yaml new file mode 100644 index 00000000..44060a62 --- /dev/null +++ b/releasenotes/notes/add-slab-usage-metric-e7504c57e4b3ba16.yaml @@ -0,0 +1,3 @@ +--- +features: + - Adds support for monitoring slab memory usage.