summaryrefslogtreecommitdiff
path: root/src/pmdas/linux_proc/clusters.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pmdas/linux_proc/clusters.h')
-rw-r--r--src/pmdas/linux_proc/clusters.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/pmdas/linux_proc/clusters.h b/src/pmdas/linux_proc/clusters.h
new file mode 100644
index 0000000..e1c8c2a
--- /dev/null
+++ b/src/pmdas/linux_proc/clusters.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2013-2014 Red Hat.
+ * 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 _CLUSTERS_H
+#define _CLUSTERS_H
+
+/*
+ * fetch cluster numbers ... to manage the PMID migration after the
+ * linux -> linux + proc PMDAs split, these need to match the enum
+ * assigned values for CLUSTER_* from the linux PMDA.
+ */
+#define CLUSTER_PID_STAT 8 /* /proc/<pid>/stat */
+#define CLUSTER_PID_STATM 9 /* /proc/<pid>/statm + /proc/<pid>/maps */
+#define CLUSTER_CONTROL 10 /* instance + value fetch control metrics */
+#define CLUSTER_PID_CGROUP 11 /* /proc/<pid>/cgroup */
+#define CLUSTER_PID_LABEL 12 /* /proc/<pid>/attr/current (label) */
+#define CLUSTER_PROC_RUNQ 13 /* number of processes in various states */
+#define CLUSTER_PID_STATUS 24 /* /proc/<pid>/status */
+#define CLUSTER_PID_SCHEDSTAT 31 /* /proc/<pid>/schedstat */
+#define CLUSTER_PID_IO 32 /* /proc/<pid>/io */
+#define CLUSTER_CGROUP_SUBSYS 37 /* /proc/cgroups control group subsystems */
+#define CLUSTER_CGROUP_MOUNTS 38 /* /proc/mounts active control groups */
+#define CLUSTER_CPUSET_GROUPS 39 /* cpuset control groups */
+#define CLUSTER_CPUACCT_GROUPS 41 /* cpu accounting control groups */
+#define CLUSTER_CPUSCHED_GROUPS 43 /* scheduler control groups */
+#define CLUSTER_MEMORY_GROUPS 45 /* memory control groups */
+#define CLUSTER_NET_CLS_GROUPS 47 /* network classification control groups */
+#define CLUSTER_BLKIO_GROUPS 49 /* blkio control groups */
+#define CLUSTER_PID_FD 51 /* /proc/<pid>/fd */
+ /* Note: do not use higher than (1 << CGROUP_SPLIT)-1 as cluster ID */
+
+#define MIN_CLUSTER 8 /* first cluster number we use here */
+#define NUM_CLUSTERS 52 /* one more than highest cluster number used */
+#define MAX_CLUSTER 63 /* last available - fill gaps if more needed */
+
+#endif /* _CLUSTERS_H */