summaryrefslogtreecommitdiff
path: root/src/pmdas/linux/indom.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pmdas/linux/indom.h')
-rw-r--r--src/pmdas/linux/indom.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/pmdas/linux/indom.h b/src/pmdas/linux/indom.h
new file mode 100644
index 0000000..89f5236
--- /dev/null
+++ b/src/pmdas/linux/indom.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2013-2014 Red Hat.
+ * Copyright (c) 2010 Aconex. All Rights Reserved.
+ * Copyright (c) 2005,2007-2008 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.
+ */
+
+#ifndef _INDOM_H
+#define _INDOM_H
+
+enum {
+ CPU_INDOM = 0, /* 0 - percpu */
+ DISK_INDOM, /* 1 - disks */
+ LOADAVG_INDOM, /* 2 - 1, 5, 15 minute load averages */
+ NET_DEV_INDOM, /* 3 - network interfaces */
+ PROC_INTERRUPTS_INDOM, /* 4 - interrupt lines -> proc PMDA */
+ FILESYS_INDOM, /* 5 - mounted bdev filesystems */
+ SWAPDEV_INDOM, /* 6 - swap devices */
+ NFS_INDOM, /* 7 - nfs operations */
+ NFS3_INDOM, /* 8 - nfs v3 operations */
+ PROC_PROC_INDOM, /* 9 - processes */
+ PARTITIONS_INDOM, /* 10 - disk partitions */
+ SCSI_INDOM, /* 11 - scsi devices */
+ SLAB_INDOM, /* 12 - kernel slabs */
+ STRINGS_INDOM, /* 13 - string dictionary */
+ NFS4_CLI_INDOM, /* 14 - nfs v4 client operations */
+ NFS4_SVR_INDOM, /* 15 - nfs n4 server operations */
+ QUOTA_PRJ_INDOM, /* 16 - project quota -> xfs PMDA */
+ NET_ADDR_INDOM, /* 17 - inet/ipv6 addresses */
+ TMPFS_INDOM, /* 18 - tmpfs mounts */
+ NODE_INDOM, /* 19 - NUMA nodes */
+ PROC_CGROUP_SUBSYS_INDOM, /* 20 - control group subsystems -> proc PMDA */
+ PROC_CGROUP_MOUNTS_INDOM, /* 21 - control group mounts -> proc PMDA */
+ LV_INDOM, /* 22 - lvm devices */
+ ICMPMSG_INDOM, /* 23 - icmp message types */
+ DM_INDOM, /* 24 device mapper devices */
+
+ NUM_INDOMS /* one more than highest numbered cluster */
+};
+
+extern pmInDom linux_indom(int);
+#define INDOM(i) linux_indom(i)
+
+extern pmdaIndom *linux_pmda_indom(int);
+#define PMDAINDOM(i) linux_pmda_indom(i)
+
+/*
+ * Optional path prefix for all stats files, used for testing.
+ */
+extern char *linux_statspath;
+extern FILE *linux_statsfile(const char *, char *, int);
+
+/*
+ * static string dictionary - one copy of oft-repeated strings;
+ * implemented using STRINGS_INDOM and pmdaCache(3) routines.
+ */
+char *linux_strings_lookup(int);
+int linux_strings_insert(const char *);
+
+#endif /* _INDOM_H */