summaryrefslogtreecommitdiffstats
path: root/collectors/slabinfo.plugin
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/slabinfo.plugin')
-rw-r--r--collectors/slabinfo.plugin/README.md2
-rw-r--r--collectors/slabinfo.plugin/metrics.csv4
-rw-r--r--collectors/slabinfo.plugin/slabinfo.c26
3 files changed, 18 insertions, 14 deletions
diff --git a/collectors/slabinfo.plugin/README.md b/collectors/slabinfo.plugin/README.md
index 320b1fc9f..e0abaff80 100644
--- a/collectors/slabinfo.plugin/README.md
+++ b/collectors/slabinfo.plugin/README.md
@@ -4,7 +4,7 @@ custom_edit_url: "https://github.com/netdata/netdata/edit/master/collectors/slab
sidebar_label: "slabinfo.plugin"
learn_status: "Published"
learn_topic_type: "References"
-learn_rel_path: "References/Collectors references/System metrics"
+learn_rel_path: "Integrations/Monitor/System metrics"
-->
# slabinfo.plugin
diff --git a/collectors/slabinfo.plugin/metrics.csv b/collectors/slabinfo.plugin/metrics.csv
new file mode 100644
index 000000000..4391cb6f5
--- /dev/null
+++ b/collectors/slabinfo.plugin/metrics.csv
@@ -0,0 +1,4 @@
+metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
+mem.slabmemory,,a dimension per cache,B,"Memory Usage",line,,slabinfo.plugin,
+mem.slabfilling,,a dimension per cache,%,"Object Filling",line,,slabinfo.plugin,
+mem.slabwaste,,a dimension per cache,B,"Memory waste",line,,slabinfo.plugin, \ No newline at end of file
diff --git a/collectors/slabinfo.plugin/slabinfo.c b/collectors/slabinfo.plugin/slabinfo.c
index 52b53cd20..25b96e386 100644
--- a/collectors/slabinfo.plugin/slabinfo.c
+++ b/collectors/slabinfo.plugin/slabinfo.c
@@ -171,19 +171,19 @@ struct slabinfo *read_file_slabinfo() {
char *name = procfile_lineword(ff, l, 0);
struct slabinfo *s = get_slabstruct(name);
- s->active_objs = str2uint64_t(procfile_lineword(ff, l, 1));
- s->num_objs = str2uint64_t(procfile_lineword(ff, l, 2));
- s->obj_size = str2uint64_t(procfile_lineword(ff, l, 3));
- s->obj_per_slab = str2uint64_t(procfile_lineword(ff, l, 4));
- s->pages_per_slab = str2uint64_t(procfile_lineword(ff, l, 5));
-
- s->tune_limit = str2uint64_t(procfile_lineword(ff, l, 7));
- s->tune_batchcnt = str2uint64_t(procfile_lineword(ff, l, 8));
- s->tune_shared_factor = str2uint64_t(procfile_lineword(ff, l, 9));
-
- s->data_active_slabs = str2uint64_t(procfile_lineword(ff, l, 11));
- s->data_num_slabs = str2uint64_t(procfile_lineword(ff, l, 12));
- s->data_shared_avail = str2uint64_t(procfile_lineword(ff, l, 13));
+ s->active_objs = str2uint64_t(procfile_lineword(ff, l, 1), NULL);
+ s->num_objs = str2uint64_t(procfile_lineword(ff, l, 2), NULL);
+ s->obj_size = str2uint64_t(procfile_lineword(ff, l, 3), NULL);
+ s->obj_per_slab = str2uint64_t(procfile_lineword(ff, l, 4), NULL);
+ s->pages_per_slab = str2uint64_t(procfile_lineword(ff, l, 5), NULL);
+
+ s->tune_limit = str2uint64_t(procfile_lineword(ff, l, 7), NULL);
+ s->tune_batchcnt = str2uint64_t(procfile_lineword(ff, l, 8), NULL);
+ s->tune_shared_factor = str2uint64_t(procfile_lineword(ff, l, 9), NULL);
+
+ s->data_active_slabs = str2uint64_t(procfile_lineword(ff, l, 11), NULL);
+ s->data_num_slabs = str2uint64_t(procfile_lineword(ff, l, 12), NULL);
+ s->data_shared_avail = str2uint64_t(procfile_lineword(ff, l, 13), NULL);
uint32_t memperslab = s->pages_per_slab * slab_pagesize;
// Internal fragmentation: loss per slab, due to objects not being a multiple of pagesize