summaryrefslogtreecommitdiff
path: root/src/pmdas/linux/proc_meminfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pmdas/linux/proc_meminfo.h')
-rw-r--r--src/pmdas/linux/proc_meminfo.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/pmdas/linux/proc_meminfo.h b/src/pmdas/linux/proc_meminfo.h
new file mode 100644
index 0000000..3185dcc
--- /dev/null
+++ b/src/pmdas/linux/proc_meminfo.h
@@ -0,0 +1,79 @@
+/*
+ * Linux /proc/meminfo metrics cluster
+ *
+ * Copyright (c) 2013 Red Hat.
+ * Copyright (c) 2002 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ */
+
+#define MEMINFO_VALID_VALUE(x) ((x) != (int64_t)-1)
+#define MEMINFO_VALUE_OR_ZERO(x) (((x) == (int64_t)-1) ? 0 : (x))
+
+/*
+ * All fields in /proc/meminfo
+ */
+typedef struct {
+ int64_t MemTotal;
+ int64_t MemFree;
+ int64_t MemAvailable;
+ int64_t MemShared;
+ int64_t Buffers;
+ int64_t Cached;
+ int64_t SwapCached;
+ int64_t Active;
+ int64_t Inactive;
+ int64_t Active_anon;
+ int64_t Inactive_anon;
+ int64_t Active_file;
+ int64_t Inactive_file;
+ int64_t Unevictable;
+ int64_t Mlocked;
+ int64_t HighTotal;
+ int64_t HighFree;
+ int64_t LowTotal;
+ int64_t LowFree;
+ int64_t MmapCopy;
+ int64_t SwapTotal;
+ int64_t SwapFree;
+ int64_t SwapUsed; /* computed */
+ int64_t Dirty;
+ int64_t Writeback;
+ int64_t Mapped;
+ int64_t Shmem;
+ int64_t Slab;
+ int64_t SlabReclaimable;
+ int64_t SlabUnreclaimable;
+ int64_t KernelStack;
+ int64_t CommitLimit;
+ int64_t Committed_AS;
+ int64_t PageTables;
+ int64_t Quicklists;
+ int64_t ReverseMaps;
+ int64_t AnonPages;
+ int64_t Bounce;
+ int64_t NFS_Unstable;
+ int64_t WritebackTmp;
+ int64_t VmallocTotal;
+ int64_t VmallocUsed;
+ int64_t VmallocChunk;
+ int64_t HardwareCorrupted;
+ int64_t AnonHugePages;
+ int64_t HugepagesTotal;
+ int64_t HugepagesFree;
+ int64_t HugepagesRsvd;
+ int64_t HugepagesSurp;
+ int64_t directMap4k;
+ int64_t directMap2M;
+ int64_t directMap1G;
+} proc_meminfo_t;
+
+extern int refresh_proc_meminfo(proc_meminfo_t *);