summaryrefslogtreecommitdiff
path: root/src/collectl2pcp
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /src/collectl2pcp
downloadpcp-debian.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'src/collectl2pcp')
-rw-r--r--src/collectl2pcp/GNUmakefile47
-rw-r--r--src/collectl2pcp/collectl2pcp.c268
-rw-r--r--src/collectl2pcp/cpu.c72
-rw-r--r--src/collectl2pcp/disk.c53
-rw-r--r--src/collectl2pcp/generic.c35
-rw-r--r--src/collectl2pcp/header.c143
-rw-r--r--src/collectl2pcp/load.c32
-rw-r--r--src/collectl2pcp/metrics.c1672
-rw-r--r--src/collectl2pcp/metrics.h90
-rw-r--r--src/collectl2pcp/net.c64
-rw-r--r--src/collectl2pcp/pmdesc.c84
-rw-r--r--src/collectl2pcp/proc.c191
-rw-r--r--src/collectl2pcp/timestamp.c58
-rw-r--r--src/collectl2pcp/util.c207
14 files changed, 3016 insertions, 0 deletions
diff --git a/src/collectl2pcp/GNUmakefile b/src/collectl2pcp/GNUmakefile
new file mode 100644
index 0000000..5d937b8
--- /dev/null
+++ b/src/collectl2pcp/GNUmakefile
@@ -0,0 +1,47 @@
+# Copyright (c) 2013 Red Hat 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.
+#
+
+TOPDIR = ../..
+include $(TOPDIR)/src/include/builddefs
+
+HFILES = metrics.h
+CFILES = collectl2pcp.c cpu.c disk.c net.c load.c timestamp.c util.c \
+ metrics.c header.c generic.c proc.c
+LSRCFILES = pmdesc.c
+
+CMDTARGET = collectl2pcp
+LLDLIBS = -L$(TOPDIR)/src/libpcp_import/src -lpcp_import $(PCPLIB)
+# LCFLAGS += -pg
+
+#
+# metrics.c is generated (but committed for now)
+# LDIRT = metrics.c
+LDIRT = pmdesc pmdesc.o
+
+default: pmdesc $(CMDTARGET)
+
+include $(BUILDRULES)
+
+install: $(CMDTARGET)
+ $(INSTALL) -m 755 $(CMDTARGET) $(PCP_BIN_DIR)/$(CMDTARGET)
+
+# metrics.c: pmdesc
+# $(RUN_IN_BUILD_ENV) pminfo hinv kernel mem swap network disk filesys \
+# swapdev rpc nfs nfs3 nfs4 xfs pmda ipc vfs quota tmpfs sysfs proc \
+# | ./pmdesc > metrics.c
+
+pmdesc: pmdesc.o
+
+default_pcp: default
+
+install_pcp: install
diff --git a/src/collectl2pcp/collectl2pcp.c b/src/collectl2pcp/collectl2pcp.c
new file mode 100644
index 0000000..c9755af
--- /dev/null
+++ b/src/collectl2pcp/collectl2pcp.c
@@ -0,0 +1,268 @@
+/*
+ * Copyright (c) 2013-2014 Red Hat.
+ *
+ * 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.
+ *
+ * Import collectl raw data file and create a PCP archive.
+ * Mark Goodwin <mgoodwin@redhat.com> May 2013.
+ */
+
+#include <pcp/pmapi.h>
+#include <pcp/impl.h>
+#include <pcp/pmda.h>
+#include <pcp/import.h>
+#include "metrics.h"
+
+#define BUFSIZE 1048576
+
+handler_t handlers[] = {
+ { ">>>", timestamp_handler },
+
+ /* /proc/PID/... */
+ { "proc:*", proc_handler },
+
+ /* /proc/stat */
+ { "cpu*", cpu_handler },
+ { "processes", generic1_handler, "kernel.all.nprocs" },
+ { "intr", generic1_handler, "kernel.all.intr" },
+ { "ctxt", generic1_handler, "kernel.all.pswitch" },
+
+ /* /proc/diskstats */
+ { "disk", disk_handler },
+
+ /* /proc/net/dev */
+ { "Net", net_handler },
+
+ /* /proc/loadavg */
+ { "load", loadavg_handler },
+
+ /* /proc/meminfo */
+ { "MemTotal:", generic1_handler, "mem.physmem" },
+ { "MemFree:", generic1_handler, "mem.util.free" },
+ { "Buffers:", generic1_handler, "mem.util.bufmem" },
+ { "Cached:", generic1_handler, "mem.util.cached" },
+ { "SwapCached:", generic1_handler, "mem.util.swapCached" },
+ { "Active:", generic1_handler, "mem.util.active" },
+ { "Inactive:", generic1_handler, "mem.util.inactive" },
+ { "Active(anon):", generic1_handler, "mem.util.active_anon" },
+ { "Inactive(anon):", generic1_handler, "mem.util.inactive_anon" },
+ { "Active(file):", generic1_handler, "mem.util.active_file" },
+ { "Inactive(file):", generic1_handler, "mem.util.inactive_file" },
+ { "Unevictable:", generic1_handler, "mem.util.unevictable" },
+ { "Mlocked:", generic1_handler, "mem.util.mlocked" },
+ { "SwapTotal:", generic1_handler, "mem.util.swapTotal" },
+ { "SwapFree:", generic1_handler, "mem.util.swapFree" },
+ { "Dirty:", generic1_handler, "mem.util.dirty" },
+ { "Writeback:", generic1_handler, "mem.util.writeback" },
+ { "AnonPages:", generic1_handler, "mem.util.anonpages" },
+ { "Mapped:", generic1_handler, "mem.util.mapped" },
+ { "Shmem:", generic1_handler, "mem.util.shmem" },
+ { "Slab:", generic1_handler, "mem.util.slab" },
+ { "SReclaimable:", generic1_handler, "mem.util.slabReclaimable" },
+ { "SUnreclaim:", generic1_handler, "mem.util.slabUnreclaimable" },
+ { "KernelStack:", generic1_handler, "mem.util.kernelStack" },
+ { "PageTables:", generic1_handler, "mem.util.pageTables" },
+ { "NFS_Unstable:", generic1_handler, "mem.util.NFS_Unstable" },
+ { "Bounce:", generic1_handler, "mem.util.bounce" },
+ { "WritebackTmp:", generic1_handler, "unknown" },
+ { "CommitLimit:", generic1_handler, "mem.util.commitLimit" },
+ { "Committed_AS:", generic1_handler, "mem.util.committed_AS" },
+ { "VmallocTotal:", generic1_handler, "mem.util.vmallocTotal" },
+ { "VmallocUsed:", generic1_handler, "mem.util.vmallocUsed" },
+ { "VmallocChunk:", generic1_handler, "mem.util.vmallocChunk" },
+ { "HardwareCorrupted:", generic1_handler, "mem.util.corrupthardware" },
+ { "AnonHugePages:", generic1_handler, "mem.util.anonhugepages" },
+ { "HugePages_Total:", generic1_handler, "mem.util.hugepagesTotal" },
+ { "HugePages_Free:", generic1_handler, "mem.util.hugepagesFree" },
+ { "HugePages_Rsvd:", generic1_handler, "mem.util.hugepagesRsvd" },
+ { "HugePages_Surp:", generic1_handler, "mem.util.hugepagesSurp" },
+ { "Hugepagesize:", generic1_handler, "unknown" },
+ { "DirectMap4k:", generic1_handler, "mem.util.directMap4k" },
+ { "DirectMap2M:", generic1_handler, "mem.util.directMap2M" },
+
+ { NULL }
+};
+
+int indom_cnt[NUM_INDOMS];
+
+/* global options */
+int vflag;
+int Fflag;
+int kernel_all_hz;
+int utc_offset;
+
+static pmLongOptions longopts[] = {
+ PMAPI_OPTIONS_HEADER("Options"),
+ PMOPT_DEBUG,
+ { "force", 0, 'f', 0, "forces overwrite of 'archive' if it already exists" },
+ { "verbose", 0, 'v', 0, "enables increasingly verbose messages" },
+ PMOPT_HELP,
+ PMAPI_OPTIONS_END
+};
+
+static pmOptions opts = {
+ .short_options = "FD:v?",
+ .long_options = longopts,
+ .short_usage = "inputfile [inputfile ...] archive\n"
+"Each 'inputfile' is a collectl archive, must be for the same host (may be gzipped).\n"
+"'archive' is the base name for the PCP archive to be created."
+};
+
+int
+main(int argc, char *argv[])
+{
+ int sts;
+ int ctx;
+ int c;
+ char *infile;
+ int nfilelist;
+ int filenum;
+ char *archive = NULL;
+ int j;
+ char *buf;
+ fields_t *f;
+ char *s;
+ int gzipped;
+ FILE *fp;
+ metric_t *m;
+ handler_t *h;
+ int unhandled_metric_cnt = 0;
+
+ while ((c = pmGetOptions(argc, argv, &opts)) != EOF) {
+ switch (c) {
+ case 'F':
+ Fflag = 1;
+ break;
+ case 'v':
+ vflag++;
+ break;
+ }
+ }
+
+ nfilelist = argc - opts.optind - 1;
+ if (nfilelist < 1)
+ opts.errors++;
+ else
+ archive = argv[argc - 1];
+
+ if (opts.errors) {
+ pmUsageMessage(&opts);
+ exit(1);
+ }
+
+ if ((buf = malloc(BUFSIZE)) == NULL) {
+ perror("Error: out of memory:");
+ exit(1);
+ }
+
+ if (Fflag) {
+ snprintf(buf, BUFSIZE, "%s.meta", archive); unlink(buf);
+ snprintf(buf, BUFSIZE, "%s.index", archive); unlink(buf);
+ for (j=0;; j++) {
+ snprintf(buf, BUFSIZE, "%s.%d", archive, j);
+ if (unlink(buf) < 0)
+ break;
+ }
+ }
+
+ ctx = pmiStart(archive, 0);
+ if ((sts = pmiUseContext(ctx)) < 0) {
+ fprintf(stderr, "Error: pmiUseContext failed: %s\n", pmiErrStr(sts));
+ exit(1);
+ }
+
+ /*
+ * Define the metrics name space, see metrics.c (generated by pmdesc)
+ */
+ for (m = metrics; m->name; m++) {
+ pmDesc *d = &m->desc;
+
+ sts = pmiAddMetric(m->name, d->pmid, d->type, d->indom, d->sem, d->units);
+ if (sts < 0) {
+ fprintf(stderr, "Error: failed to add metric %s: %s\n", m->name, pmiErrStr(sts));
+ exit(1);
+ }
+ }
+
+ /*
+ * Populate special case instance domains
+ */
+ pmiAddInstance(pmInDom_build(LINUX_DOMAIN, LOADAVG_INDOM), "1 minute", 1);
+ pmiAddInstance(pmInDom_build(LINUX_DOMAIN, LOADAVG_INDOM), "5 minute", 5);
+ pmiAddInstance(pmInDom_build(LINUX_DOMAIN, LOADAVG_INDOM), "15 minute", 15);
+ indom_cnt[LOADAVG_INDOM] = 3;
+
+ for (filenum=0; filenum < nfilelist; filenum++) {
+ infile = argv[opts.optind + filenum];
+ gzipped = strstr(infile, ".gz") != NULL;
+ if (gzipped) {
+ snprintf(buf, BUFSIZE, "gzip -c -d %s", infile);
+ if ((fp = popen(buf, "r")) == NULL)
+ perror(buf);
+ }
+ else
+ if ((fp = fopen(infile, "r")) == NULL)
+ perror(infile);
+
+ if (fp == NULL) {
+ pmUsageMessage(&opts);
+ exit(1);
+ }
+
+ /*
+ * parse the header
+ */
+ sts = header_handler(fp, infile, buf, BUFSIZE);
+
+ /*
+ * Parse remaining data stream for this input file
+ */
+ while(fgets(buf, BUFSIZE, fp)) {
+ if ((s = strrchr(buf, '\n')) != NULL)
+ *s = '\0';
+ if (!buf[0])
+ continue;
+ f = fields_new(buf, strlen(buf)+1);
+ if (f->nfields > 0) {
+ if ((h = find_handler(f->fields[0])) == NULL) {
+ unhandled_metric_cnt++;
+ if (vflag > 1)
+ printf("Unhandled tag: \"%s\"\n", f->fields[0]);
+ }
+ else {
+ sts = h->handler(h, f);
+ if (sts < 0 && h->handler == timestamp_handler) {
+ fprintf(stderr, "Error: %s\n", pmiErrStr(sts));
+ exit(1);
+ }
+ }
+ }
+ fields_free(f);
+ }
+
+ /* final flush for this file */
+ if ((sts = timestamp_flush()) < 0) {
+ fprintf(stderr, "Error: failed to write final timestamp: %s\n", pmiErrStr(sts));
+ exit(1);
+ }
+
+ if (gzipped)
+ pclose(fp);
+ else
+ fclose(fp);
+ }
+
+ sts = pmiEnd();
+ if (unhandled_metric_cnt && vflag)
+ fprintf(stderr, "Warning: %d unhandled metric/values\n", unhandled_metric_cnt);
+
+ exit(0);
+}
diff --git a/src/collectl2pcp/cpu.c b/src/collectl2pcp/cpu.c
new file mode 100644
index 0000000..a5b5028
--- /dev/null
+++ b/src/collectl2pcp/cpu.c
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Handler for kernel.{percpu,all}.cpu.*
+ *
+ * cpu 66057896 4079 13437134 575696782 4513632 1463907 1701801 0 28602 0
+ * cpu0 24489004 2578 3862841 132669978 2807446 852698 928386 0 28602 0
+ *
+ */
+
+#include "metrics.h"
+
+#define ticks_to_msec(ticks) (1000ULL * strtoull(ticks, NULL, 0) / kernel_all_hz)
+
+int
+cpu_handler(handler_t *h, fields_t *f)
+{
+ char *inst = NULL;
+
+ if (f->fieldlen[0] < 3 || f->nfields < 9)
+ return -1;
+
+ if (f->fieldlen[0] > 3 && isdigit(f->fields[0][3])) {
+ /* kernel.percpu.cpu.* */
+ pmInDom indom = pmInDom_build(LINUX_DOMAIN, CPU_INDOM);
+
+ inst = f->fields[0]; /* cpuN */
+
+ put_ull_value("kernel.percpu.cpu.user", indom, inst, ticks_to_msec(f->fields[1]));
+ put_ull_value("kernel.percpu.cpu.nice", indom, inst, ticks_to_msec(f->fields[2]));
+ put_ull_value("kernel.percpu.cpu.sys", indom, inst, ticks_to_msec(f->fields[3]));
+ put_ull_value("kernel.percpu.cpu.idle", indom, inst, ticks_to_msec(f->fields[4]));
+ put_ull_value("kernel.percpu.cpu.wait.total", indom, inst, ticks_to_msec(f->fields[5]));
+ put_ull_value("kernel.percpu.cpu.irq.hard", indom, inst, ticks_to_msec(f->fields[6]));
+ put_ull_value("kernel.percpu.cpu.irq.soft", indom, inst, ticks_to_msec(f->fields[7]));
+ put_ull_value("kernel.percpu.cpu.steal", indom, inst, ticks_to_msec(f->fields[8]));
+ if (f->nfields > 9) /* guest cpu usage is only in more recent kernels */
+ put_ull_value("kernel.percpu.cpu.guest", indom, inst, ticks_to_msec(f->fields[9]));
+
+ put_ull_value("kernel.percpu.cpu.intr", indom, inst,
+ 1000 * ((double)strtoull(f->fields[6], NULL, 0) +
+ (double)strtoull(f->fields[7], NULL, 0)) / kernel_all_hz);
+ }
+ else {
+ put_ull_value("kernel.all.cpu.user", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[1]));
+ put_ull_value("kernel.all.cpu.nice", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[2]));
+ put_ull_value("kernel.all.cpu.sys", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[3]));
+ put_ull_value("kernel.all.cpu.idle", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[4]));
+ put_ull_value("kernel.all.cpu.wait.total", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[5]));
+ put_ull_value("kernel.all.cpu.irq.hard", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[6]));
+ put_ull_value("kernel.all.cpu.irq.soft", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[7]));
+ put_ull_value("kernel.all.cpu.steal", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[8]));
+ if (f->nfields > 9)
+ put_ull_value("kernel.all.cpu.guest", PM_INDOM_NULL, NULL, ticks_to_msec(f->fields[9]));
+
+ put_ull_value("kernel.all.cpu.intr", PM_INDOM_NULL, NULL,
+ 1000 * ((double)strtoull(f->fields[6], NULL, 0) +
+ (double)strtoull(f->fields[7], NULL, 0)) / kernel_all_hz);
+ }
+
+ return 0;
+}
diff --git a/src/collectl2pcp/disk.c b/src/collectl2pcp/disk.c
new file mode 100644
index 0000000..6ea8940
--- /dev/null
+++ b/src/collectl2pcp/disk.c
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Handler for disk.dev
+ *
+ * disk 8 0 sda 13911739 267073 1248592592 58081804 4912190 5603474 382020376 181762699 0 53315955 240138732
+ */
+
+#include "metrics.h"
+
+int
+disk_handler(handler_t *h, fields_t *f)
+{
+ char *inst;
+ pmInDom indom = pmInDom_build(LINUX_DOMAIN, DISK_INDOM);
+
+ if (f->nfields != 15)
+ return -1;
+
+ /* disk.dev.* */
+ inst = f->fields[3]; /* diskname */
+
+ put_str_value("disk.dev.read", indom, inst, f->fields[4]);
+ put_str_value("disk.dev.read_merge", indom, inst, f->fields[5]);
+ put_str_value("disk.dev.blkread", indom, inst, f->fields[6]);
+ /* skip read_ticks at f->fields[7] */
+ put_str_value("disk.dev.write", indom, inst, f->fields[8]);
+ put_str_value("disk.dev.write_merge", indom, inst, f->fields[9]);
+ put_str_value("disk.dev.blkwrite", indom, inst, f->fields[10]);
+ /* skip write_ticks at f->fields[11] */
+ /* skip in_flight at f->fields[12] */
+ put_str_value("disk.dev.avactive", indom, inst, f->fields[13]);
+ put_str_value("disk.dev.aveq", indom, inst, f->fields[14]);
+
+ /* derived values */
+ put_ull_value("disk.dev.write_bytes", indom, inst, strtoull(f->fields[10], NULL, 0) / 2);
+ put_ull_value("disk.dev.read_bytes", indom, inst, strtoull(f->fields[6], NULL, 0) / 2);
+ put_ull_value("disk.dev.total_bytes", indom, inst,
+ strtoull(f->fields[6], NULL, 0) + strtoull(f->fields[10], NULL, 0));
+
+ return 0;
+}
+
diff --git a/src/collectl2pcp/generic.c b/src/collectl2pcp/generic.c
new file mode 100644
index 0000000..5cfb973
--- /dev/null
+++ b/src/collectl2pcp/generic.c
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Generic handler for singular metrics with value in fields[1] e.g. :
+ * "processes 516779"
+ *
+ */
+
+#include "metrics.h"
+
+/* generic handler for <tag> <value> */
+int
+generic1_handler(handler_t *h, fields_t *f)
+{
+ put_str_value(h->metric_name, PM_INDOM_NULL, NULL, f->fields[1]);
+ return 0;
+}
+
+/* generic handler for <tag> <somethingelse> <value> */
+int
+generic2_handler(handler_t *h, fields_t *f)
+{
+ put_str_value(h->metric_name, PM_INDOM_NULL, NULL, f->fields[2]);
+ return 0;
+}
diff --git a/src/collectl2pcp/header.c b/src/collectl2pcp/header.c
new file mode 100644
index 0000000..2bd0129
--- /dev/null
+++ b/src/collectl2pcp/header.c
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Parse collectl header up to (and including) the first timestamp.
+ */
+
+#include "metrics.h"
+
+static char *hostname = NULL;
+int header_time = 0;
+
+int
+header_handler(FILE *fp, char *fname, char *buf, int maxbuf)
+{
+ int i;
+ char *s;
+ fields_t *f;
+ int sts = 0;
+
+
+ while(fgets(buf, maxbuf, fp)) {
+ if ((s = strrchr(buf, '\n')) != NULL)
+ *s = '\0';
+ if (!buf[0])
+ continue;
+
+ f = fields_new(buf, strlen(buf)+1);
+ if (f->nfields == 0) {
+ fields_free(f);
+ continue;
+ }
+
+ if (strncmp(f->fields[0], ">>>", 3) == 0) {
+ /* first timestamp: we're finished parsing the header */
+ sts = timestamp_handler(find_handler(">>>"), f);
+ fields_free(f);
+ break;
+ }
+
+ if (f->nfields > 3 && strncmp(f->fields[1], "Host:", 5) == 0) {
+ /* # Host: somehostname ... */
+ if (hostname && strcmp(hostname, f->fields[2]) != 0) {
+ fprintf(stderr, "FATAL Error: host mismatch: \"%s\" contains data for host \"%s\", not \"%s\"\n",
+ fname, f->fields[2], hostname);
+ exit(1);
+ }
+
+ if (!hostname) {
+ hostname = strdup(f->fields[2]);
+ pmiSetHostname(hostname);
+ put_str_value("kernel.uname.nodename", PM_INDOM_NULL, NULL, hostname);
+ put_str_value("kernel.uname.sysname", PM_INDOM_NULL, NULL, "Linux");
+ }
+ }
+
+ if (f->nfields > 2 && strncmp(f->fields[1], "Distro:", 7) == 0) {
+ strcpy(buf, f->fields[2]);
+ for (i=3; i < f->nfields; i++) {
+ if (strcmp(f->fields[i], "Platform:") == 0)
+ break;
+ strcat(buf, " ");
+ strcat(buf, f->fields[i]);
+ }
+ put_str_value("kernel.uname.distro", PM_INDOM_NULL, NULL, buf);
+
+#if 0 /* TODO -- add hinv.platform */
+ if (i < f->nfields) { /* found embedded platform */
+ strcpy(buf, f->fields[++i]);
+ for (; i < f->nfields; i++) {
+ strcat(buf, " ");
+ strcat(buf, f->fields[i]);
+ }
+ put_str_value("hinv.platform", PM_INDOM_NULL, NULL, buf);
+ }
+#endif
+ }
+
+ if (f->nfields == 7 && strncmp(f->fields[1], "Date:", 5) == 0) {
+ /* # Date: 20130505-170328 Secs: 1367791408 TZ: -0500 */
+ int d = strtol(f->fields[4], NULL, 0);
+
+ if (d < header_time) {
+ fprintf(stderr, "FATAL Error: input file order mismatch: \"%s\" contains data at %d, prior to %d\n",
+ fname, d, header_time);
+ exit(1);
+ }
+ header_time = d;
+ sts = pmiSetTimezone(f->fields[6]);
+ utc_offset = strtol(f->fields[6], NULL, 0);
+ sscanf(f->fields[6], "%d", &utc_offset); /* e.g. -0500 */
+ utc_offset /= 100;
+ if (vflag)
+ printf("Timezone set to \"%s\" utc_offset=%d hours, sts=%d\n", f->fields[6], utc_offset, sts);
+ }
+
+ if (f->nfields > 8 && strncmp(f->fields[1], "SubSys:", 7) == 0) {
+ /* # SubSys: bcdfijmnstYZ Options: Interval: 10:60 NumCPUs: 24 NumBud: 3 Flags: i */
+ put_str_value("hinv.ncpu", PM_INDOM_NULL, NULL, f->fields[7]);
+ }
+
+ if (f->nfields == 7 && strncmp(f->fields[1], "HZ:", 3) == 0) {
+ /* # HZ: 100 Arch: x86_64-linux-thread-multi PageSize: 4096 */
+ kernel_all_hz = strtol(f->fields[2], NULL, 0);
+ put_str_value("kernel.all.hz", PM_INDOM_NULL, NULL, f->fields[2]);
+ put_str_value("kernel.uname.machine", PM_INDOM_NULL, NULL, f->fields[4]);
+ put_str_value("hinv.pagesize", PM_INDOM_NULL, NULL, f->fields[6]);
+ }
+
+ if (f->nfields == 9 && strncmp(f->fields[1], "Kernel:", 7) == 0) {
+ /* # Kernel: 2.6.18-274.17.1.el5 Memory: 131965176 kB Swap: 134215000 kB */
+ put_str_value("kernel.uname.release", PM_INDOM_NULL, NULL, f->fields[2]);
+ put_int_value("hinv.physmem", PM_INDOM_NULL, NULL, atoi(f->fields[4])/1024);
+ put_str_value("hinv.machine", PM_INDOM_NULL, NULL, "linux");
+ }
+
+ if (f->nfields > 4 && strncmp(f->fields[1], "NumDisks:", 9) == 0) {
+ /* # NumDisks: 846 DiskNames: sda sdb .... */
+ put_str_value("hinv.ndisk", PM_INDOM_NULL, NULL, f->fields[2]);
+ }
+
+ if (f->nfields > 4 && strncmp(f->fields[1], "NumNets:", 8) == 0) {
+ /* # NumNets: 5 NetNames: em1: lo: ... */
+ put_str_value("hinv.ninterface", PM_INDOM_NULL, NULL, f->fields[2]);
+ }
+
+ fields_free(f);
+ }
+
+ if (vflag)
+ printf("Parsed header in file:\"%s\" host:\"%s\" sts=%d\n", fname, hostname, sts);
+
+ return sts;
+}
diff --git a/src/collectl2pcp/load.c b/src/collectl2pcp/load.c
new file mode 100644
index 0000000..9343415
--- /dev/null
+++ b/src/collectl2pcp/load.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Handler for load average
+ * "load 1.07 1.18 1.30 3/658 4944"
+ *
+ */
+
+#include "metrics.h"
+
+int
+loadavg_handler(handler_t *h, fields_t *f)
+{
+ pmInDom indom = pmInDom_build(LINUX_DOMAIN, LOADAVG_INDOM);
+ if (f->nfields < 4)
+ return -1;
+ put_str_value("kernel.all.load", indom, "1 minute", f->fields[1]);
+ put_str_value("kernel.all.load", indom, "5 minute", f->fields[2]);
+ put_str_value("kernel.all.load", indom, "15 minute", f->fields[3]);
+
+ return 0;
+}
diff --git a/src/collectl2pcp/metrics.c b/src/collectl2pcp/metrics.c
new file mode 100644
index 0000000..e655cf8
--- /dev/null
+++ b/src/collectl2pcp/metrics.c
@@ -0,0 +1,1672 @@
+/* This file is automatically generated .. do not edit! */
+#include "metrics.h"
+
+metric_t metrics[] = {
+ /* 60.1.9 */ { "hinv.physmem", { 0xf000409, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=2, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.11 */ { "hinv.pagesize", { 0xf00040b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.32 */ { "hinv.ncpu", { 0xf000020, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.33 */ { "hinv.ndisk", { 0xf000021, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.0 */ { "hinv.nfilesys", { 0xf001400, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.27 */ { "hinv.ninterface", { 0xf000c1b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.7 */ { "hinv.machine", { 0xf004807, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.15.0 */ { "hinv.map.scsi", { 0xf003c00, PM_TYPE_STRING, 0xf00000b, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.6 */ { "hinv.map.cpu_num", { 0xf004806, PM_TYPE_U32, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.8 */ { "hinv.map.cpu_node", { 0xf004808, PM_TYPE_U32, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.52.0 */ { "hinv.map.lvname", { 0xf00d000, PM_TYPE_STRING, 0xf000016, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.0 */ { "hinv.cpu.clock", { 0xf004800, PM_TYPE_FLOAT, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=10, .scaleCount=0 } } },
+ /* 60.18.1 */ { "hinv.cpu.vendor", { 0xf004801, PM_TYPE_STRING, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.2 */ { "hinv.cpu.model", { 0xf004802, PM_TYPE_STRING, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.3 */ { "hinv.cpu.stepping", { 0xf004803, PM_TYPE_STRING, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.4 */ { "hinv.cpu.cache", { 0xf004804, PM_TYPE_U32, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.18.5 */ { "hinv.cpu.bogomips", { 0xf004805, PM_TYPE_FLOAT, 0xf000000, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.2.0 */ { "kernel.all.load", { 0xf000800, PM_TYPE_FLOAT, 0xf000002, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.12 */ { "kernel.all.intr", { 0xf00000c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.13 */ { "kernel.all.pswitch", { 0xf00000d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.14 */ { "kernel.all.sysfork", { 0xf00000e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.48 */ { "kernel.all.hz", { 0xf000030, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=-1, .dimCount=1, .scaleSpace=0, .scaleTime=3, .scaleCount=0 } } },
+ /* 60.26.0 */ { "kernel.all.uptime", { 0xf006800, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=3, .scaleCount=0 } } },
+ /* 60.26.1 */ { "kernel.all.idletime", { 0xf006801, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=3, .scaleCount=0 } } },
+ /* 60.25.0 */ { "kernel.all.nusers", { 0xf006400, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.2.1 */ { "kernel.all.lastpid", { 0xf000801, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.2.2 */ { "kernel.all.runnable", { 0xf000802, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.2.3 */ { "kernel.all.nprocs", { 0xf000803, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.20 */ { "kernel.all.cpu.user", { 0xf000014, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.21 */ { "kernel.all.cpu.nice", { 0xf000015, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.22 */ { "kernel.all.cpu.sys", { 0xf000016, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.23 */ { "kernel.all.cpu.idle", { 0xf000017, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.34 */ { "kernel.all.cpu.intr", { 0xf000022, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.55 */ { "kernel.all.cpu.steal", { 0xf000037, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.60 */ { "kernel.all.cpu.guest", { 0xf00003c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.35 */ { "kernel.all.cpu.wait.total", { 0xf000023, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.53 */ { "kernel.all.cpu.irq.soft", { 0xf000035, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.54 */ { "kernel.all.cpu.irq.hard", { 0xf000036, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.4.3 */ { "kernel.all.interrupts.errors", { 0xf001003, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.11 */ { "kernel.percpu.interrupts.MCP", { 0xf00c80b, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.10 */ { "kernel.percpu.interrupts.MCE", { 0xf00c80a, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.9 */ { "kernel.percpu.interrupts.THR", { 0xf00c809, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.8 */ { "kernel.percpu.interrupts.TRM", { 0xf00c808, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.7 */ { "kernel.percpu.interrupts.TLB", { 0xf00c807, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.6 */ { "kernel.percpu.interrupts.CAL", { 0xf00c806, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.5 */ { "kernel.percpu.interrupts.RES", { 0xf00c805, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.4 */ { "kernel.percpu.interrupts.RTR", { 0xf00c804, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.3 */ { "kernel.percpu.interrupts.IWI", { 0xf00c803, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.2 */ { "kernel.percpu.interrupts.PMI", { 0xf00c802, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.1 */ { "kernel.percpu.interrupts.SPU", { 0xf00c801, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.50.0 */ { "kernel.percpu.interrupts.LOC", { 0xf00c800, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.14 */ { "kernel.percpu.interrupts.line46", { 0xf00c40e, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.13 */ { "kernel.percpu.interrupts.line45", { 0xf00c40d, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.12 */ { "kernel.percpu.interrupts.line44", { 0xf00c40c, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.11 */ { "kernel.percpu.interrupts.line43", { 0xf00c40b, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.10 */ { "kernel.percpu.interrupts.line42", { 0xf00c40a, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.9 */ { "kernel.percpu.interrupts.line41", { 0xf00c409, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.8 */ { "kernel.percpu.interrupts.line40", { 0xf00c408, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.7 */ { "kernel.percpu.interrupts.line23", { 0xf00c407, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.6 */ { "kernel.percpu.interrupts.line19", { 0xf00c406, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.5 */ { "kernel.percpu.interrupts.line16", { 0xf00c405, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.4 */ { "kernel.percpu.interrupts.line12", { 0xf00c404, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.3 */ { "kernel.percpu.interrupts.line9", { 0xf00c403, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.2 */ { "kernel.percpu.interrupts.line8", { 0xf00c402, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.1 */ { "kernel.percpu.interrupts.line1", { 0xf00c401, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.49.0 */ { "kernel.percpu.interrupts.line0", { 0xf00c400, PM_TYPE_U32, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.0 */ { "kernel.percpu.cpu.user", { 0xf000000, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.1 */ { "kernel.percpu.cpu.nice", { 0xf000001, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.2 */ { "kernel.percpu.cpu.sys", { 0xf000002, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.3 */ { "kernel.percpu.cpu.idle", { 0xf000003, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.31 */ { "kernel.percpu.cpu.intr", { 0xf00001f, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.58 */ { "kernel.percpu.cpu.steal", { 0xf00003a, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.61 */ { "kernel.percpu.cpu.guest", { 0xf00003d, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.30 */ { "kernel.percpu.cpu.wait.total", { 0xf00001e, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.56 */ { "kernel.percpu.cpu.irq.soft", { 0xf000038, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.57 */ { "kernel.percpu.cpu.irq.hard", { 0xf000039, PM_TYPE_U64, 0xf000000, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.62 */ { "kernel.pernode.cpu.user", { 0xf00003e, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.63 */ { "kernel.pernode.cpu.nice", { 0xf00003f, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.64 */ { "kernel.pernode.cpu.sys", { 0xf000040, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.65 */ { "kernel.pernode.cpu.idle", { 0xf000041, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.66 */ { "kernel.pernode.cpu.intr", { 0xf000042, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.67 */ { "kernel.pernode.cpu.steal", { 0xf000043, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.68 */ { "kernel.pernode.cpu.guest", { 0xf000044, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.69 */ { "kernel.pernode.cpu.wait.total", { 0xf000045, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.70 */ { "kernel.pernode.cpu.irq.soft", { 0xf000046, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.71 */ { "kernel.pernode.cpu.irq.hard", { 0xf000047, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.12.0 */ { "kernel.uname.release", { 0xf003000, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.12.1 */ { "kernel.uname.version", { 0xf003001, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.12.2 */ { "kernel.uname.sysname", { 0xf003002, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.12.3 */ { "kernel.uname.machine", { 0xf003003, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.12.4 */ { "kernel.uname.nodename", { 0xf003004, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.12.7 */ { "kernel.uname.distro", { 0xf003007, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.0 */ { "mem.physmem", { 0xf000400, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.10 */ { "mem.freemem", { 0xf00040a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.1 */ { "mem.util.used", { 0xf000401, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.2 */ { "mem.util.free", { 0xf000402, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.3 */ { "mem.util.shared", { 0xf000403, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.4 */ { "mem.util.bufmem", { 0xf000404, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.5 */ { "mem.util.cached", { 0xf000405, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.12 */ { "mem.util.other", { 0xf00040c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.13 */ { "mem.util.swapCached", { 0xf00040d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.14 */ { "mem.util.active", { 0xf00040e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.15 */ { "mem.util.inactive", { 0xf00040f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.16 */ { "mem.util.highTotal", { 0xf000410, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.17 */ { "mem.util.highFree", { 0xf000411, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.18 */ { "mem.util.lowTotal", { 0xf000412, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.19 */ { "mem.util.lowFree", { 0xf000413, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.20 */ { "mem.util.swapTotal", { 0xf000414, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.21 */ { "mem.util.swapFree", { 0xf000415, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.22 */ { "mem.util.dirty", { 0xf000416, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.23 */ { "mem.util.writeback", { 0xf000417, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.24 */ { "mem.util.mapped", { 0xf000418, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.25 */ { "mem.util.slab", { 0xf000419, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.26 */ { "mem.util.committed_AS", { 0xf00041a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.27 */ { "mem.util.pageTables", { 0xf00041b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.28 */ { "mem.util.reverseMaps", { 0xf00041c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.29 */ { "mem.util.cache_clean", { 0xf00041d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.30 */ { "mem.util.anonpages", { 0xf00041e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.31 */ { "mem.util.commitLimit", { 0xf00041f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.32 */ { "mem.util.bounce", { 0xf000420, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.33 */ { "mem.util.NFS_Unstable", { 0xf000421, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.34 */ { "mem.util.slabReclaimable", { 0xf000422, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.35 */ { "mem.util.slabUnreclaimable", { 0xf000423, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.36 */ { "mem.util.active_anon", { 0xf000424, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.37 */ { "mem.util.inactive_anon", { 0xf000425, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.38 */ { "mem.util.active_file", { 0xf000426, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.39 */ { "mem.util.inactive_file", { 0xf000427, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.40 */ { "mem.util.unevictable", { 0xf000428, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.41 */ { "mem.util.mlocked", { 0xf000429, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.42 */ { "mem.util.shmem", { 0xf00042a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.43 */ { "mem.util.kernelStack", { 0xf00042b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.44 */ { "mem.util.hugepagesTotal", { 0xf00042c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.45 */ { "mem.util.hugepagesFree", { 0xf00042d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.46 */ { "mem.util.hugepagesRsvd", { 0xf00042e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.47 */ { "mem.util.hugepagesSurp", { 0xf00042f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.48 */ { "mem.util.directMap4k", { 0xf000430, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.49 */ { "mem.util.directMap2M", { 0xf000431, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.50 */ { "mem.util.vmallocTotal", { 0xf000432, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.51 */ { "mem.util.vmallocUsed", { 0xf000433, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.52 */ { "mem.util.vmallocChunk", { 0xf000434, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.53 */ { "mem.util.mmap_copy", { 0xf000435, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.54 */ { "mem.util.quicklists", { 0xf000436, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.55 */ { "mem.util.corrupthardware", { 0xf000437, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.56 */ { "mem.util.anonhugepages", { 0xf000438, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.0 */ { "mem.numa.util.total", { 0xf009000, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.1 */ { "mem.numa.util.free", { 0xf009001, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.2 */ { "mem.numa.util.used", { 0xf009002, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.3 */ { "mem.numa.util.active", { 0xf009003, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.4 */ { "mem.numa.util.inactive", { 0xf009004, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.5 */ { "mem.numa.util.active_anon", { 0xf009005, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.6 */ { "mem.numa.util.inactive_anon", { 0xf009006, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.7 */ { "mem.numa.util.active_file", { 0xf009007, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.8 */ { "mem.numa.util.inactive_file", { 0xf009008, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.9 */ { "mem.numa.util.highTotal", { 0xf009009, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.10 */ { "mem.numa.util.highFree", { 0xf00900a, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.11 */ { "mem.numa.util.lowTotal", { 0xf00900b, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.12 */ { "mem.numa.util.lowFree", { 0xf00900c, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.13 */ { "mem.numa.util.unevictable", { 0xf00900d, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.14 */ { "mem.numa.util.mlocked", { 0xf00900e, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.15 */ { "mem.numa.util.dirty", { 0xf00900f, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.16 */ { "mem.numa.util.writeback", { 0xf009010, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.17 */ { "mem.numa.util.filePages", { 0xf009011, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.18 */ { "mem.numa.util.mapped", { 0xf009012, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.19 */ { "mem.numa.util.anonpages", { 0xf009013, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.20 */ { "mem.numa.util.shmem", { 0xf009014, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.21 */ { "mem.numa.util.kernelStack", { 0xf009015, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.22 */ { "mem.numa.util.pageTables", { 0xf009016, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.23 */ { "mem.numa.util.NFS_Unstable", { 0xf009017, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.24 */ { "mem.numa.util.bounce", { 0xf009018, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.25 */ { "mem.numa.util.writebackTmp", { 0xf009019, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.26 */ { "mem.numa.util.slab", { 0xf00901a, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.27 */ { "mem.numa.util.slabReclaimable", { 0xf00901b, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.28 */ { "mem.numa.util.slabUnreclaimable", { 0xf00901c, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.29 */ { "mem.numa.util.hugepagesTotal", { 0xf00901d, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.30 */ { "mem.numa.util.hugepagesFree", { 0xf00901e, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.31 */ { "mem.numa.util.hugepagesSurp", { 0xf00901f, PM_TYPE_U64, 0xf000013, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.32 */ { "mem.numa.alloc.hit", { 0xf009020, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.33 */ { "mem.numa.alloc.miss", { 0xf009021, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.34 */ { "mem.numa.alloc.foreign", { 0xf009022, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.35 */ { "mem.numa.alloc.interleave_hit", { 0xf009023, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.36 */ { "mem.numa.alloc.local_node", { 0xf009024, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.36.37 */ { "mem.numa.alloc.other_node", { 0xf009025, PM_TYPE_U64, 0xf000013, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.0 */ { "mem.slabinfo.objects.active", { 0xf005000, PM_TYPE_U64, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.1 */ { "mem.slabinfo.objects.total", { 0xf005001, PM_TYPE_U64, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.2 */ { "mem.slabinfo.objects.size", { 0xf005002, PM_TYPE_U32, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.3 */ { "mem.slabinfo.slabs.active", { 0xf005003, PM_TYPE_U32, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.4 */ { "mem.slabinfo.slabs.total", { 0xf005004, PM_TYPE_U32, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.5 */ { "mem.slabinfo.slabs.pages_per_slab", { 0xf005005, PM_TYPE_U32, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.6 */ { "mem.slabinfo.slabs.objects_per_slab", { 0xf005006, PM_TYPE_U32, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.20.7 */ { "mem.slabinfo.slabs.total_size", { 0xf005007, PM_TYPE_U64, 0xf00000c, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.35 */ { "mem.vmstat.allocstall", { 0xf007023, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.57 */ { "mem.vmstat.compact_blocks_moved", { 0xf007039, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.58 */ { "mem.vmstat.compact_fail", { 0xf00703a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.59 */ { "mem.vmstat.compact_pagemigrate_failed", { 0xf00703b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.60 */ { "mem.vmstat.compact_pages_moved", { 0xf00703c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.61 */ { "mem.vmstat.compact_stall", { 0xf00703d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.62 */ { "mem.vmstat.compact_success", { 0xf00703e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.43 */ { "mem.vmstat.htlb_buddy_alloc_fail", { 0xf00702b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.44 */ { "mem.vmstat.htlb_buddy_alloc_success", { 0xf00702c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.33 */ { "mem.vmstat.kswapd_inodesteal", { 0xf007021, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.87 */ { "mem.vmstat.kswapd_low_wmark_hit_quickly", { 0xf007057, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.88 */ { "mem.vmstat.kswapd_high_wmark_hit_quickly", { 0xf007058, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.89 */ { "mem.vmstat.kswapd_skip_congestion_wait", { 0xf007059, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.32 */ { "mem.vmstat.kswapd_steal", { 0xf007020, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.45 */ { "mem.vmstat.nr_active_anon", { 0xf00702d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.46 */ { "mem.vmstat.nr_active_file", { 0xf00702e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.39 */ { "mem.vmstat.nr_anon_pages", { 0xf007027, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.90 */ { "mem.vmstat.nr_anon_transparent_hugepages", { 0xf00705a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.40 */ { "mem.vmstat.nr_bounce", { 0xf007028, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.91 */ { "mem.vmstat.nr_dirtied", { 0xf00705b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.0 */ { "mem.vmstat.nr_dirty", { 0xf007000, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.92 */ { "mem.vmstat.nr_dirty_background_threshold", { 0xf00705c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.93 */ { "mem.vmstat.nr_dirty_threshold", { 0xf00705d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.47 */ { "mem.vmstat.nr_free_pages", { 0xf00702f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.48 */ { "mem.vmstat.nr_inactive_anon", { 0xf007030, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.49 */ { "mem.vmstat.nr_inactive_file", { 0xf007031, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.50 */ { "mem.vmstat.nr_isolated_anon", { 0xf007032, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.51 */ { "mem.vmstat.nr_isolated_file", { 0xf007033, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.52 */ { "mem.vmstat.nr_kernel_stack", { 0xf007034, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.4 */ { "mem.vmstat.nr_mapped", { 0xf007004, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.53 */ { "mem.vmstat.nr_mlock", { 0xf007035, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.3 */ { "mem.vmstat.nr_page_table_pages", { 0xf007003, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.54 */ { "mem.vmstat.nr_shmem", { 0xf007036, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.5 */ { "mem.vmstat.nr_slab", { 0xf007005, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.37 */ { "mem.vmstat.nr_slab_reclaimable", { 0xf007025, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.38 */ { "mem.vmstat.nr_slab_unreclaimable", { 0xf007026, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.55 */ { "mem.vmstat.nr_unevictable", { 0xf007037, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.2 */ { "mem.vmstat.nr_unstable", { 0xf007002, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.42 */ { "mem.vmstat.nr_vmscan_write", { 0xf00702a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.1 */ { "mem.vmstat.nr_writeback", { 0xf007001, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.56 */ { "mem.vmstat.nr_writeback_temp", { 0xf007038, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.94 */ { "mem.vmstat.nr_written", { 0xf00705e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.95 */ { "mem.vmstat.numa_foreign", { 0xf00705f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.96 */ { "mem.vmstat.numa_hit", { 0xf007060, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.97 */ { "mem.vmstat.numa_interleave", { 0xf007061, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.98 */ { "mem.vmstat.numa_local", { 0xf007062, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.99 */ { "mem.vmstat.numa_miss", { 0xf007063, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.100 */ { "mem.vmstat.numa_other", { 0xf007064, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.34 */ { "mem.vmstat.pageoutrun", { 0xf007022, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.14 */ { "mem.vmstat.pgactivate", { 0xf00700e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.12 */ { "mem.vmstat.pgalloc_dma", { 0xf00700c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.63 */ { "mem.vmstat.pgalloc_dma32", { 0xf00703f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.10 */ { "mem.vmstat.pgalloc_high", { 0xf00700a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.64 */ { "mem.vmstat.pgalloc_movable", { 0xf007040, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.11 */ { "mem.vmstat.pgalloc_normal", { 0xf00700b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.65 */ { "mem.vmstat.pgrefill_dma32", { 0xf007041, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.66 */ { "mem.vmstat.pgrefill_movable", { 0xf007042, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.15 */ { "mem.vmstat.pgdeactivate", { 0xf00700f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.16 */ { "mem.vmstat.pgfault", { 0xf007010, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.13 */ { "mem.vmstat.pgfree", { 0xf00700d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.30 */ { "mem.vmstat.pginodesteal", { 0xf00701e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.17 */ { "mem.vmstat.pgmajfault", { 0xf007011, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.6 */ { "mem.vmstat.pgpgin", { 0xf007006, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.7 */ { "mem.vmstat.pgpgout", { 0xf007007, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.20 */ { "mem.vmstat.pgrefill_dma", { 0xf007014, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.18 */ { "mem.vmstat.pgrefill_high", { 0xf007012, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.19 */ { "mem.vmstat.pgrefill_normal", { 0xf007013, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.36 */ { "mem.vmstat.pgrotated", { 0xf007024, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.29 */ { "mem.vmstat.pgscan_direct_dma", { 0xf00701d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.67 */ { "mem.vmstat.pgscan_direct_dma32", { 0xf007043, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.27 */ { "mem.vmstat.pgscan_direct_high", { 0xf00701b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.68 */ { "mem.vmstat.pgscan_direct_movable", { 0xf007044, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.28 */ { "mem.vmstat.pgscan_direct_normal", { 0xf00701c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.26 */ { "mem.vmstat.pgscan_kswapd_dma", { 0xf00701a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.69 */ { "mem.vmstat.pgscan_kswapd_dma32", { 0xf007045, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.24 */ { "mem.vmstat.pgscan_kswapd_high", { 0xf007018, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.70 */ { "mem.vmstat.pgscan_kswapd_movable", { 0xf007046, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.25 */ { "mem.vmstat.pgscan_kswapd_normal", { 0xf007019, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.23 */ { "mem.vmstat.pgsteal_dma", { 0xf007017, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.71 */ { "mem.vmstat.pgsteal_dma32", { 0xf007047, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.21 */ { "mem.vmstat.pgsteal_high", { 0xf007015, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.72 */ { "mem.vmstat.pgsteal_movable", { 0xf007048, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.22 */ { "mem.vmstat.pgsteal_normal", { 0xf007016, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.8 */ { "mem.vmstat.pswpin", { 0xf007008, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.9 */ { "mem.vmstat.pswpout", { 0xf007009, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.31 */ { "mem.vmstat.slabs_scanned", { 0xf00701f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.73 */ { "mem.vmstat.thp_fault_alloc", { 0xf007049, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.74 */ { "mem.vmstat.thp_fault_fallback", { 0xf00704a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.75 */ { "mem.vmstat.thp_collapse_alloc", { 0xf00704b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.76 */ { "mem.vmstat.thp_collapse_alloc_failed", { 0xf00704c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.77 */ { "mem.vmstat.thp_split", { 0xf00704d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.78 */ { "mem.vmstat.unevictable_pgs_cleared", { 0xf00704e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.79 */ { "mem.vmstat.unevictable_pgs_culled", { 0xf00704f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.80 */ { "mem.vmstat.unevictable_pgs_mlocked", { 0xf007050, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.81 */ { "mem.vmstat.unevictable_pgs_mlockfreed", { 0xf007051, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.82 */ { "mem.vmstat.unevictable_pgs_munlocked", { 0xf007052, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.83 */ { "mem.vmstat.unevictable_pgs_rescued", { 0xf007053, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.84 */ { "mem.vmstat.unevictable_pgs_scanned", { 0xf007054, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.85 */ { "mem.vmstat.unevictable_pgs_stranded", { 0xf007055, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.28.86 */ { "mem.vmstat.zone_reclaim_failed", { 0xf007056, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.8 */ { "swap.pagesin", { 0xf000008, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.9 */ { "swap.pagesout", { 0xf000009, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.10 */ { "swap.in", { 0xf00000a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.11 */ { "swap.out", { 0xf00000b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.8 */ { "swap.free", { 0xf000408, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.6 */ { "swap.length", { 0xf000406, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.1.7 */ { "swap.used", { 0xf000407, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.13 */ { "network.interface.collisions", { 0xf000c0d, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.21 */ { "network.interface.mtu", { 0xf000c15, PM_TYPE_U32, 0xf000003, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.22 */ { "network.interface.speed", { 0xf000c16, PM_TYPE_FLOAT, 0xf000003, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=-1, .dimCount=0, .scaleSpace=2, .scaleTime=3, .scaleCount=0 } } },
+ /* 60.3.23 */ { "network.interface.baudrate", { 0xf000c17, PM_TYPE_U32, 0xf000003, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=-1, .dimCount=0, .scaleSpace=0, .scaleTime=3, .scaleCount=0 } } },
+ /* 60.3.24 */ { "network.interface.duplex", { 0xf000c18, PM_TYPE_U32, 0xf000003, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.25 */ { "network.interface.up", { 0xf000c19, PM_TYPE_U32, 0xf000003, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.26 */ { "network.interface.running", { 0xf000c1a, PM_TYPE_U32, 0xf000003, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.33.0 */ { "network.interface.inet_addr", { 0xf008400, PM_TYPE_STRING, 0xf000011, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.0 */ { "network.interface.in.bytes", { 0xf000c00, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.1 */ { "network.interface.in.packets", { 0xf000c01, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.2 */ { "network.interface.in.errors", { 0xf000c02, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.3 */ { "network.interface.in.drops", { 0xf000c03, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.4 */ { "network.interface.in.fifo", { 0xf000c04, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.5 */ { "network.interface.in.frame", { 0xf000c05, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.6 */ { "network.interface.in.compressed", { 0xf000c06, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.7 */ { "network.interface.in.mcasts", { 0xf000c07, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.8 */ { "network.interface.out.bytes", { 0xf000c08, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.9 */ { "network.interface.out.packets", { 0xf000c09, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.10 */ { "network.interface.out.errors", { 0xf000c0a, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.11 */ { "network.interface.out.drops", { 0xf000c0b, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.12 */ { "network.interface.out.fifo", { 0xf000c0c, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.14 */ { "network.interface.out.carrier", { 0xf000c0e, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.15 */ { "network.interface.out.compressed", { 0xf000c0f, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.16 */ { "network.interface.total.bytes", { 0xf000c10, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.17 */ { "network.interface.total.packets", { 0xf000c11, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.18 */ { "network.interface.total.errors", { 0xf000c12, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.19 */ { "network.interface.total.drops", { 0xf000c13, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.3.20 */ { "network.interface.total.mcasts", { 0xf000c14, PM_TYPE_U64, 0xf000003, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.0 */ { "network.sockstat.tcp.inuse", { 0xf002c00, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.1 */ { "network.sockstat.tcp.highest", { 0xf002c01, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.2 */ { "network.sockstat.tcp.util", { 0xf002c02, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.3 */ { "network.sockstat.udp.inuse", { 0xf002c03, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.4 */ { "network.sockstat.udp.highest", { 0xf002c04, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.5 */ { "network.sockstat.udp.util", { 0xf002c05, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.6 */ { "network.sockstat.raw.inuse", { 0xf002c06, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.7 */ { "network.sockstat.raw.highest", { 0xf002c07, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.11.8 */ { "network.sockstat.raw.util", { 0xf002c08, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.0 */ { "network.ip.forwarding", { 0xf003800, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.1 */ { "network.ip.defaultttl", { 0xf003801, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.2 */ { "network.ip.inreceives", { 0xf003802, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.3 */ { "network.ip.inhdrerrors", { 0xf003803, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.4 */ { "network.ip.inaddrerrors", { 0xf003804, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.5 */ { "network.ip.forwdatagrams", { 0xf003805, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.6 */ { "network.ip.inunknownprotos", { 0xf003806, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.7 */ { "network.ip.indiscards", { 0xf003807, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.8 */ { "network.ip.indelivers", { 0xf003808, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.9 */ { "network.ip.outrequests", { 0xf003809, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.10 */ { "network.ip.outdiscards", { 0xf00380a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.11 */ { "network.ip.outnoroutes", { 0xf00380b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.12 */ { "network.ip.reasmtimeout", { 0xf00380c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.13 */ { "network.ip.reasmreqds", { 0xf00380d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.14 */ { "network.ip.reasmoks", { 0xf00380e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.15 */ { "network.ip.reasmfails", { 0xf00380f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.16 */ { "network.ip.fragoks", { 0xf003810, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.17 */ { "network.ip.fragfails", { 0xf003811, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.18 */ { "network.ip.fragcreates", { 0xf003812, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.20 */ { "network.icmp.inmsgs", { 0xf003814, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.21 */ { "network.icmp.inerrors", { 0xf003815, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.22 */ { "network.icmp.indestunreachs", { 0xf003816, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.23 */ { "network.icmp.intimeexcds", { 0xf003817, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.24 */ { "network.icmp.inparmprobs", { 0xf003818, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.25 */ { "network.icmp.insrcquenchs", { 0xf003819, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.26 */ { "network.icmp.inredirects", { 0xf00381a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.27 */ { "network.icmp.inechos", { 0xf00381b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.28 */ { "network.icmp.inechoreps", { 0xf00381c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.29 */ { "network.icmp.intimestamps", { 0xf00381d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.30 */ { "network.icmp.intimestampreps", { 0xf00381e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.31 */ { "network.icmp.inaddrmasks", { 0xf00381f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.32 */ { "network.icmp.inaddrmaskreps", { 0xf003820, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.33 */ { "network.icmp.outmsgs", { 0xf003821, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.34 */ { "network.icmp.outerrors", { 0xf003822, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.35 */ { "network.icmp.outdestunreachs", { 0xf003823, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.36 */ { "network.icmp.outtimeexcds", { 0xf003824, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.37 */ { "network.icmp.outparmprobs", { 0xf003825, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.38 */ { "network.icmp.outsrcquenchs", { 0xf003826, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.39 */ { "network.icmp.outredirects", { 0xf003827, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.40 */ { "network.icmp.outechos", { 0xf003828, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.41 */ { "network.icmp.outechoreps", { 0xf003829, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.42 */ { "network.icmp.outtimestamps", { 0xf00382a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.43 */ { "network.icmp.outtimestampreps", { 0xf00382b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.44 */ { "network.icmp.outaddrmasks", { 0xf00382c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.45 */ { "network.icmp.outaddrmaskreps", { 0xf00382d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.50 */ { "network.tcp.rtoalgorithm", { 0xf003832, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.51 */ { "network.tcp.rtomin", { 0xf003833, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.52 */ { "network.tcp.rtomax", { 0xf003834, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.53 */ { "network.tcp.maxconn", { 0xf003835, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.54 */ { "network.tcp.activeopens", { 0xf003836, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.55 */ { "network.tcp.passiveopens", { 0xf003837, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.56 */ { "network.tcp.attemptfails", { 0xf003838, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.57 */ { "network.tcp.estabresets", { 0xf003839, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.58 */ { "network.tcp.currestab", { 0xf00383a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.59 */ { "network.tcp.insegs", { 0xf00383b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.60 */ { "network.tcp.outsegs", { 0xf00383c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.61 */ { "network.tcp.retranssegs", { 0xf00383d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.62 */ { "network.tcp.inerrs", { 0xf00383e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.63 */ { "network.tcp.outrsts", { 0xf00383f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.70 */ { "network.udp.indatagrams", { 0xf003846, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.71 */ { "network.udp.noports", { 0xf003847, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.72 */ { "network.udp.inerrors", { 0xf003848, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.74 */ { "network.udp.outdatagrams", { 0xf00384a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.75 */ { "network.udp.recvbuferrors", { 0xf00384b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.76 */ { "network.udp.sndbuferrors", { 0xf00384c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.77 */ { "network.udplite.indatagrams", { 0xf00384d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.78 */ { "network.udplite.noports", { 0xf00384e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.79 */ { "network.udplite.inerrors", { 0xf00384f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.80 */ { "network.udplite.outdatagrams", { 0xf003850, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.81 */ { "network.udplite.recvbuferrors", { 0xf003851, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.14.82 */ { "network.udplite.sndbuferrors", { 0xf003852, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.1 */ { "network.tcpconn.established", { 0xf004c01, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.2 */ { "network.tcpconn.syn_sent", { 0xf004c02, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.3 */ { "network.tcpconn.syn_recv", { 0xf004c03, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.4 */ { "network.tcpconn.fin_wait1", { 0xf004c04, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.5 */ { "network.tcpconn.fin_wait2", { 0xf004c05, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.6 */ { "network.tcpconn.time_wait", { 0xf004c06, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.7 */ { "network.tcpconn.close", { 0xf004c07, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.8 */ { "network.tcpconn.close_wait", { 0xf004c08, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.9 */ { "network.tcpconn.last_ack", { 0xf004c09, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.10 */ { "network.tcpconn.listen", { 0xf004c0a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.19.11 */ { "network.tcpconn.closing", { 0xf004c0b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.20 */ { "network.ib.status", { 0xf007414, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.21 */ { "network.ib.control", { 0xf007415, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.0 */ { "network.ib.in.bytes", { 0xf007400, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.1 */ { "network.ib.in.packets", { 0xf007401, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.2 */ { "network.ib.in.errors.drop", { 0xf007402, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.3 */ { "network.ib.in.errors.filter", { 0xf007403, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.4 */ { "network.ib.in.errors.local", { 0xf007404, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.5 */ { "network.ib.in.errors.remote", { 0xf007405, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.6 */ { "network.ib.out.bytes", { 0xf007406, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.7 */ { "network.ib.out.packets", { 0xf007407, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.8 */ { "network.ib.out.errors.drop", { 0xf007408, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.9 */ { "network.ib.out.errors.filter", { 0xf007409, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.16 */ { "network.ib.total.bytes", { 0xf007410, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.17 */ { "network.ib.total.packets", { 0xf007411, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.18 */ { "network.ib.total.errors.drop", { 0xf007412, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.19 */ { "network.ib.total.errors.filter", { 0xf007413, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.10 */ { "network.ib.total.errors.link", { 0xf00740a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.11 */ { "network.ib.total.errors.recover", { 0xf00740b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.12 */ { "network.ib.total.errors.integrity", { 0xf00740c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.13 */ { "network.ib.total.errors.vl15", { 0xf00740d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.14 */ { "network.ib.total.errors.overrun", { 0xf00740e, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.29.15 */ { "network.ib.total.errors.symbol", { 0xf00740f, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.4 */ { "disk.dev.read", { 0xf000004, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.5 */ { "disk.dev.write", { 0xf000005, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.28 */ { "disk.dev.total", { 0xf00001c, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.6 */ { "disk.dev.blkread", { 0xf000006, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.7 */ { "disk.dev.blkwrite", { 0xf000007, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.36 */ { "disk.dev.blktotal", { 0xf000024, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.38 */ { "disk.dev.read_bytes", { 0xf000026, PM_TYPE_U32, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.39 */ { "disk.dev.write_bytes", { 0xf000027, PM_TYPE_U32, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.40 */ { "disk.dev.total_bytes", { 0xf000028, PM_TYPE_U32, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.49 */ { "disk.dev.read_merge", { 0xf000031, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.50 */ { "disk.dev.write_merge", { 0xf000032, PM_TYPE_U64, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.46 */ { "disk.dev.avactive", { 0xf00002e, PM_TYPE_U32, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.72 */ { "disk.dev.read_rawactive", { 0xf000048, PM_TYPE_U32, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.73 */ { "disk.dev.write_rawactive", { 0xf000049, PM_TYPE_U32, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.47 */ { "disk.dev.aveq", { 0xf00002f, PM_TYPE_U32, 0xf000001, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.59 */ { "disk.dev.scheduler", { 0xf00003b, PM_TYPE_STRING, 0xf000001, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.24 */ { "disk.all.read", { 0xf000018, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.25 */ { "disk.all.write", { 0xf000019, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.29 */ { "disk.all.total", { 0xf00001d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.26 */ { "disk.all.blkread", { 0xf00001a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.27 */ { "disk.all.blkwrite", { 0xf00001b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.37 */ { "disk.all.blktotal", { 0xf000025, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.41 */ { "disk.all.read_bytes", { 0xf000029, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.42 */ { "disk.all.write_bytes", { 0xf00002a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.43 */ { "disk.all.total_bytes", { 0xf00002b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.51 */ { "disk.all.read_merge", { 0xf000033, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.52 */ { "disk.all.write_merge", { 0xf000034, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.0.44 */ { "disk.all.avactive", { 0xf00002c, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.74 */ { "disk.all.read_rawactive", { 0xf00004a, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.75 */ { "disk.all.write_rawactive", { 0xf00004b, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.0.45 */ { "disk.all.aveq", { 0xf00002d, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 60.10.0 */ { "disk.partitions.read", { 0xf002800, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.1 */ { "disk.partitions.write", { 0xf002801, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.2 */ { "disk.partitions.total", { 0xf002802, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.3 */ { "disk.partitions.blkread", { 0xf002803, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.4 */ { "disk.partitions.blkwrite", { 0xf002804, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.5 */ { "disk.partitions.blktotal", { 0xf002805, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.6 */ { "disk.partitions.read_bytes", { 0xf002806, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.7 */ { "disk.partitions.write_bytes", { 0xf002807, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.10.8 */ { "disk.partitions.total_bytes", { 0xf002808, PM_TYPE_U32, 0xf00000a, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.1 */ { "filesys.capacity", { 0xf001401, PM_TYPE_U64, 0xf000005, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.2 */ { "filesys.used", { 0xf001402, PM_TYPE_U64, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.3 */ { "filesys.free", { 0xf001403, PM_TYPE_U64, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.4 */ { "filesys.maxfiles", { 0xf001404, PM_TYPE_U32, 0xf000005, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.5 */ { "filesys.usedfiles", { 0xf001405, PM_TYPE_U32, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.6 */ { "filesys.freefiles", { 0xf001406, PM_TYPE_U32, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.7 */ { "filesys.mountdir", { 0xf001407, PM_TYPE_STRING, 0xf000005, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.8 */ { "filesys.full", { 0xf001408, PM_TYPE_DOUBLE, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.9 */ { "filesys.blocksize", { 0xf001409, PM_TYPE_U32, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.10 */ { "filesys.avail", { 0xf00140a, PM_TYPE_U64, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.5.11 */ { "filesys.readonly", { 0xf00140b, PM_TYPE_U32, 0xf000005, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.6.0 */ { "swapdev.free", { 0xf001800, PM_TYPE_U32, 0xf000006, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.6.1 */ { "swapdev.length", { 0xf001801, PM_TYPE_U32, 0xf000006, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.6.2 */ { "swapdev.maxswap", { 0xf001802, PM_TYPE_U32, 0xf000006, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.6.3 */ { "swapdev.vlength", { 0xf001803, PM_TYPE_U32, 0xf000006, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.6.4 */ { "swapdev.priority", { 0xf001804, PM_TYPE_32, 0xf000006, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.20 */ { "rpc.client.rpccnt", { 0xf001c14, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.21 */ { "rpc.client.rpcretrans", { 0xf001c15, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.22 */ { "rpc.client.rpcauthrefresh", { 0xf001c16, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.24 */ { "rpc.client.netcnt", { 0xf001c18, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.25 */ { "rpc.client.netudpcnt", { 0xf001c19, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.26 */ { "rpc.client.nettcpcnt", { 0xf001c1a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.27 */ { "rpc.client.nettcpconn", { 0xf001c1b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.30 */ { "rpc.server.rpccnt", { 0xf001c1e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.31 */ { "rpc.server.rpcerr", { 0xf001c1f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.32 */ { "rpc.server.rpcbadfmt", { 0xf001c20, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.33 */ { "rpc.server.rpcbadauth", { 0xf001c21, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.34 */ { "rpc.server.rpcbadclnt", { 0xf001c22, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.35 */ { "rpc.server.rchits", { 0xf001c23, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.36 */ { "rpc.server.rcmisses", { 0xf001c24, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.37 */ { "rpc.server.rcnocache", { 0xf001c25, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.38 */ { "rpc.server.fh_cached", { 0xf001c26, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.39 */ { "rpc.server.fh_valid", { 0xf001c27, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.40 */ { "rpc.server.fh_fixup", { 0xf001c28, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.41 */ { "rpc.server.fh_lookup", { 0xf001c29, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.42 */ { "rpc.server.fh_stale", { 0xf001c2a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.43 */ { "rpc.server.fh_concurrent", { 0xf001c2b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.44 */ { "rpc.server.netcnt", { 0xf001c2c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.45 */ { "rpc.server.netudpcnt", { 0xf001c2d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.46 */ { "rpc.server.nettcpcnt", { 0xf001c2e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.47 */ { "rpc.server.nettcpconn", { 0xf001c2f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.51 */ { "rpc.server.fh_anon", { 0xf001c33, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.52 */ { "rpc.server.fh_nocache_dir", { 0xf001c34, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.53 */ { "rpc.server.fh_nocache_nondir", { 0xf001c35, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.54 */ { "rpc.server.io_read", { 0xf001c36, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.55 */ { "rpc.server.io_write", { 0xf001c37, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.56 */ { "rpc.server.th_cnt", { 0xf001c38, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.57 */ { "rpc.server.th_fullcnt", { 0xf001c39, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.1 */ { "nfs.client.calls", { 0xf001c01, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.4 */ { "nfs.client.reqs", { 0xf001c04, PM_TYPE_U32, 0xf000007, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.50 */ { "nfs.server.calls", { 0xf001c32, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.12 */ { "nfs.server.reqs", { 0xf001c0c, PM_TYPE_U32, 0xf000007, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.60 */ { "nfs3.client.calls", { 0xf001c3c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.61 */ { "nfs3.client.reqs", { 0xf001c3d, PM_TYPE_U32, 0xf000008, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.62 */ { "nfs3.server.calls", { 0xf001c3e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.63 */ { "nfs3.server.reqs", { 0xf001c3f, PM_TYPE_U32, 0xf000008, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.64 */ { "nfs4.client.calls", { 0xf001c40, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.65 */ { "nfs4.client.reqs", { 0xf001c41, PM_TYPE_U32, 0xf00000e, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.66 */ { "nfs4.server.calls", { 0xf001c42, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.7.67 */ { "nfs4.server.reqs", { 0xf001c43, PM_TYPE_U32, 0xf00000f, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.51 */ { "xfs.write", { 0xf004033, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.52 */ { "xfs.write_bytes", { 0xf004034, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.53 */ { "xfs.read", { 0xf004035, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.54 */ { "xfs.read_bytes", { 0xf004036, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.67 */ { "xfs.iflush_count", { 0xf004043, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.68 */ { "xfs.icluster_flushcnt", { 0xf004044, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.69 */ { "xfs.icluster_flushinode", { 0xf004045, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.0 */ { "xfs.allocs.alloc_extent", { 0xf004000, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.1 */ { "xfs.allocs.alloc_block", { 0xf004001, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.2 */ { "xfs.allocs.free_extent", { 0xf004002, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.3 */ { "xfs.allocs.free_block", { 0xf004003, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.4 */ { "xfs.alloc_btree.lookup", { 0xf004004, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.5 */ { "xfs.alloc_btree.compare", { 0xf004005, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.6 */ { "xfs.alloc_btree.insrec", { 0xf004006, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.7 */ { "xfs.alloc_btree.delrec", { 0xf004007, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.8 */ { "xfs.block_map.read_ops", { 0xf004008, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.9 */ { "xfs.block_map.write_ops", { 0xf004009, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.10 */ { "xfs.block_map.unmap", { 0xf00400a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.11 */ { "xfs.block_map.add_exlist", { 0xf00400b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.12 */ { "xfs.block_map.del_exlist", { 0xf00400c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.13 */ { "xfs.block_map.look_exlist", { 0xf00400d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.14 */ { "xfs.block_map.cmp_exlist", { 0xf00400e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.15 */ { "xfs.bmap_btree.lookup", { 0xf00400f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.16 */ { "xfs.bmap_btree.compare", { 0xf004010, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.17 */ { "xfs.bmap_btree.insrec", { 0xf004011, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.18 */ { "xfs.bmap_btree.delrec", { 0xf004012, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.19 */ { "xfs.dir_ops.lookup", { 0xf004013, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.20 */ { "xfs.dir_ops.create", { 0xf004014, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.21 */ { "xfs.dir_ops.remove", { 0xf004015, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.22 */ { "xfs.dir_ops.getdents", { 0xf004016, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.23 */ { "xfs.transactions.sync", { 0xf004017, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.24 */ { "xfs.transactions.async", { 0xf004018, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.25 */ { "xfs.transactions.empty", { 0xf004019, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.26 */ { "xfs.inode_ops.ig_attempts", { 0xf00401a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.27 */ { "xfs.inode_ops.ig_found", { 0xf00401b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.28 */ { "xfs.inode_ops.ig_frecycle", { 0xf00401c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.29 */ { "xfs.inode_ops.ig_missed", { 0xf00401d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.30 */ { "xfs.inode_ops.ig_dup", { 0xf00401e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.31 */ { "xfs.inode_ops.ig_reclaims", { 0xf00401f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.32 */ { "xfs.inode_ops.ig_attrchg", { 0xf004020, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.33 */ { "xfs.log.writes", { 0xf004021, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.34 */ { "xfs.log.blocks", { 0xf004022, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.78 */ { "xfs.log.write_ratio", { 0xf00404e, PM_TYPE_FLOAT, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.35 */ { "xfs.log.noiclogs", { 0xf004023, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.36 */ { "xfs.log.force", { 0xf004024, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.37 */ { "xfs.log.force_sleep", { 0xf004025, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.38 */ { "xfs.log_tail.try_logspace", { 0xf004026, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.39 */ { "xfs.log_tail.sleep_logspace", { 0xf004027, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.40 */ { "xfs.log_tail.push_ail.pushes", { 0xf004028, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.41 */ { "xfs.log_tail.push_ail.success", { 0xf004029, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.42 */ { "xfs.log_tail.push_ail.pushbuf", { 0xf00402a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.43 */ { "xfs.log_tail.push_ail.pinned", { 0xf00402b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.44 */ { "xfs.log_tail.push_ail.locked", { 0xf00402c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.45 */ { "xfs.log_tail.push_ail.flushing", { 0xf00402d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.46 */ { "xfs.log_tail.push_ail.restarts", { 0xf00402e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.47 */ { "xfs.log_tail.push_ail.flush", { 0xf00402f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.48 */ { "xfs.xstrat.bytes", { 0xf004030, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.49 */ { "xfs.xstrat.quick", { 0xf004031, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.50 */ { "xfs.xstrat.split", { 0xf004032, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.55 */ { "xfs.attr.get", { 0xf004037, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.56 */ { "xfs.attr.set", { 0xf004038, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.57 */ { "xfs.attr.remove", { 0xf004039, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.58 */ { "xfs.attr.list", { 0xf00403a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.59 */ { "xfs.quota.reclaims", { 0xf00403b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.60 */ { "xfs.quota.reclaim_misses", { 0xf00403c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.61 */ { "xfs.quota.dquot_dups", { 0xf00403d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.62 */ { "xfs.quota.cachemisses", { 0xf00403e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.63 */ { "xfs.quota.cachehits", { 0xf00403f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.64 */ { "xfs.quota.wants", { 0xf004040, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.65 */ { "xfs.quota.shake_reclaims", { 0xf004041, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.66 */ { "xfs.quota.inact_reclaims", { 0xf004042, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.0 */ { "xfs.buffer.get", { 0xf004400, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.1 */ { "xfs.buffer.create", { 0xf004401, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.2 */ { "xfs.buffer.get_locked", { 0xf004402, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.3 */ { "xfs.buffer.get_locked_waited", { 0xf004403, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.4 */ { "xfs.buffer.busy_locked", { 0xf004404, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.5 */ { "xfs.buffer.miss_locked", { 0xf004405, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.6 */ { "xfs.buffer.page_retries", { 0xf004406, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.7 */ { "xfs.buffer.page_found", { 0xf004407, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.17.8 */ { "xfs.buffer.get_read", { 0xf004408, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.70 */ { "xfs.vnodes.active", { 0xf004046, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.71 */ { "xfs.vnodes.alloc", { 0xf004047, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.72 */ { "xfs.vnodes.get", { 0xf004048, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.73 */ { "xfs.vnodes.hold", { 0xf004049, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.74 */ { "xfs.vnodes.rele", { 0xf00404a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.75 */ { "xfs.vnodes.reclaim", { 0xf00404b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.76 */ { "xfs.vnodes.remove", { 0xf00404c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.77 */ { "xfs.vnodes.free", { 0xf00404d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.79 */ { "xfs.control.reset", { 0xf00404f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.80 */ { "xfs.btree.alloc_blocks.lookup", { 0xf004050, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.81 */ { "xfs.btree.alloc_blocks.compare", { 0xf004051, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.82 */ { "xfs.btree.alloc_blocks.insrec", { 0xf004052, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.83 */ { "xfs.btree.alloc_blocks.delrec", { 0xf004053, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.84 */ { "xfs.btree.alloc_blocks.newroot", { 0xf004054, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.85 */ { "xfs.btree.alloc_blocks.killroot", { 0xf004055, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.86 */ { "xfs.btree.alloc_blocks.increment", { 0xf004056, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.87 */ { "xfs.btree.alloc_blocks.decrement", { 0xf004057, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.88 */ { "xfs.btree.alloc_blocks.lshift", { 0xf004058, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.89 */ { "xfs.btree.alloc_blocks.rshift", { 0xf004059, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.90 */ { "xfs.btree.alloc_blocks.split", { 0xf00405a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.91 */ { "xfs.btree.alloc_blocks.join", { 0xf00405b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.92 */ { "xfs.btree.alloc_blocks.alloc", { 0xf00405c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.93 */ { "xfs.btree.alloc_blocks.free", { 0xf00405d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.94 */ { "xfs.btree.alloc_blocks.moves", { 0xf00405e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.95 */ { "xfs.btree.alloc_contig.lookup", { 0xf00405f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.96 */ { "xfs.btree.alloc_contig.compare", { 0xf004060, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.97 */ { "xfs.btree.alloc_contig.insrec", { 0xf004061, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.98 */ { "xfs.btree.alloc_contig.delrec", { 0xf004062, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.99 */ { "xfs.btree.alloc_contig.newroot", { 0xf004063, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.100 */ { "xfs.btree.alloc_contig.killroot", { 0xf004064, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.101 */ { "xfs.btree.alloc_contig.increment", { 0xf004065, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.102 */ { "xfs.btree.alloc_contig.decrement", { 0xf004066, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.103 */ { "xfs.btree.alloc_contig.lshift", { 0xf004067, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.104 */ { "xfs.btree.alloc_contig.rshift", { 0xf004068, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.105 */ { "xfs.btree.alloc_contig.split", { 0xf004069, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.106 */ { "xfs.btree.alloc_contig.join", { 0xf00406a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.107 */ { "xfs.btree.alloc_contig.alloc", { 0xf00406b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.108 */ { "xfs.btree.alloc_contig.free", { 0xf00406c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.109 */ { "xfs.btree.alloc_contig.moves", { 0xf00406d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.110 */ { "xfs.btree.block_map.lookup", { 0xf00406e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.111 */ { "xfs.btree.block_map.compare", { 0xf00406f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.112 */ { "xfs.btree.block_map.insrec", { 0xf004070, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.113 */ { "xfs.btree.block_map.delrec", { 0xf004071, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.114 */ { "xfs.btree.block_map.newroot", { 0xf004072, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.115 */ { "xfs.btree.block_map.killroot", { 0xf004073, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.116 */ { "xfs.btree.block_map.increment", { 0xf004074, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.117 */ { "xfs.btree.block_map.decrement", { 0xf004075, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.118 */ { "xfs.btree.block_map.lshift", { 0xf004076, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.119 */ { "xfs.btree.block_map.rshift", { 0xf004077, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.120 */ { "xfs.btree.block_map.split", { 0xf004078, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.121 */ { "xfs.btree.block_map.join", { 0xf004079, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.122 */ { "xfs.btree.block_map.alloc", { 0xf00407a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.123 */ { "xfs.btree.block_map.free", { 0xf00407b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.124 */ { "xfs.btree.block_map.moves", { 0xf00407c, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.125 */ { "xfs.btree.inode.lookup", { 0xf00407d, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.126 */ { "xfs.btree.inode.compare", { 0xf00407e, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.127 */ { "xfs.btree.inode.insrec", { 0xf00407f, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.128 */ { "xfs.btree.inode.delrec", { 0xf004080, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.129 */ { "xfs.btree.inode.newroot", { 0xf004081, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.130 */ { "xfs.btree.inode.killroot", { 0xf004082, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.131 */ { "xfs.btree.inode.increment", { 0xf004083, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.132 */ { "xfs.btree.inode.decrement", { 0xf004084, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.133 */ { "xfs.btree.inode.lshift", { 0xf004085, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.134 */ { "xfs.btree.inode.rshift", { 0xf004086, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.135 */ { "xfs.btree.inode.split", { 0xf004087, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.136 */ { "xfs.btree.inode.join", { 0xf004088, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.137 */ { "xfs.btree.inode.alloc", { 0xf004089, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.138 */ { "xfs.btree.inode.free", { 0xf00408a, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.16.139 */ { "xfs.btree.inode.moves", { 0xf00408b, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.12.5 */ { "pmda.uname", { 0xf003005, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.12.6 */ { "pmda.version", { 0xf003006, PM_TYPE_STRING, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.0 */ { "ipc.sem.max_semmap", { 0xf005400, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.1 */ { "ipc.sem.max_semid", { 0xf005401, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.2 */ { "ipc.sem.max_sem", { 0xf005402, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.3 */ { "ipc.sem.num_undo", { 0xf005403, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.4 */ { "ipc.sem.max_perid", { 0xf005404, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.5 */ { "ipc.sem.max_ops", { 0xf005405, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.6 */ { "ipc.sem.max_undoent", { 0xf005406, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.7 */ { "ipc.sem.sz_semundo", { 0xf005407, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.8 */ { "ipc.sem.max_semval", { 0xf005408, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.21.9 */ { "ipc.sem.max_exit", { 0xf005409, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.0 */ { "ipc.msg.sz_pool", { 0xf005800, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.1 */ { "ipc.msg.mapent", { 0xf005801, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.2 */ { "ipc.msg.max_msgsz", { 0xf005802, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.3 */ { "ipc.msg.max_defmsgq", { 0xf005803, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.4 */ { "ipc.msg.max_msgqid", { 0xf005804, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.5 */ { "ipc.msg.max_msgseg", { 0xf005805, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.6 */ { "ipc.msg.num_smsghdr", { 0xf005806, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.22.7 */ { "ipc.msg.max_seg", { 0xf005807, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.23.0 */ { "ipc.shm.max_segsz", { 0xf005c00, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.23.1 */ { "ipc.shm.min_segsz", { 0xf005c01, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.23.2 */ { "ipc.shm.max_seg", { 0xf005c02, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.23.3 */ { "ipc.shm.max_segproc", { 0xf005c03, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.23.4 */ { "ipc.shm.max_shmsys", { 0xf005c04, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.27.0 */ { "vfs.files.count", { 0xf006c00, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.27.1 */ { "vfs.files.free", { 0xf006c01, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.27.2 */ { "vfs.files.max", { 0xf006c02, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.27.3 */ { "vfs.inodes.count", { 0xf006c03, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.27.4 */ { "vfs.inodes.free", { 0xf006c04, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.27.5 */ { "vfs.dentry.count", { 0xf006c05, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.27.6 */ { "vfs.dentry.free", { 0xf006c06, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.0 */ { "quota.state.project.accounting", { 0xf007800, PM_TYPE_U32, 0xf000005, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.1 */ { "quota.state.project.enforcement", { 0xf007801, PM_TYPE_U32, 0xf000005, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.6 */ { "quota.project.space.hard", { 0xf007806, PM_TYPE_U64, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.7 */ { "quota.project.space.soft", { 0xf007807, PM_TYPE_U64, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.8 */ { "quota.project.space.used", { 0xf007808, PM_TYPE_U64, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.9 */ { "quota.project.space.time_left", { 0xf007809, PM_TYPE_32, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=3, .scaleCount=0 } } },
+ /* 60.30.10 */ { "quota.project.files.hard", { 0xf00780a, PM_TYPE_U64, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.11 */ { "quota.project.files.soft", { 0xf00780b, PM_TYPE_U64, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.12 */ { "quota.project.files.used", { 0xf00780c, PM_TYPE_U64, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.30.13 */ { "quota.project.files.time_left", { 0xf00780d, PM_TYPE_32, 0xf000010, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=3, .scaleCount=0 } } },
+ /* 60.34.1 */ { "tmpfs.capacity", { 0xf008801, PM_TYPE_U64, 0xf000012, PM_SEM_DISCRETE,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.34.2 */ { "tmpfs.used", { 0xf008802, PM_TYPE_U64, 0xf000012, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.34.3 */ { "tmpfs.free", { 0xf008803, PM_TYPE_U64, 0xf000012, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.34.4 */ { "tmpfs.maxfiles", { 0xf008804, PM_TYPE_U32, 0xf000012, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.34.5 */ { "tmpfs.usedfiles", { 0xf008805, PM_TYPE_U32, 0xf000012, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.34.6 */ { "tmpfs.freefiles", { 0xf008806, PM_TYPE_U32, 0xf000012, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.34.7 */ { "tmpfs.full", { 0xf008807, PM_TYPE_DOUBLE, 0xf000012, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 60.35.0 */ { "sysfs.kernel.uevent_seqnum", { 0xf008c00, PM_TYPE_U64, PM_INDOM_NULL, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.99 */ { "proc.nprocs", { 0xc02063, PM_TYPE_U32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.0 */ { "proc.psinfo.pid", { 0xc02000, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.1 */ { "proc.psinfo.cmd", { 0xc02001, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.2 */ { "proc.psinfo.sname", { 0xc02002, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.3 */ { "proc.psinfo.ppid", { 0xc02003, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.4 */ { "proc.psinfo.pgrp", { 0xc02004, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.5 */ { "proc.psinfo.session", { 0xc02005, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.6 */ { "proc.psinfo.tty", { 0xc02006, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.7 */ { "proc.psinfo.tty_pgrp", { 0xc02007, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.8 */ { "proc.psinfo.flags", { 0xc02008, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.9 */ { "proc.psinfo.minflt", { 0xc02009, PM_TYPE_U32, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.10 */ { "proc.psinfo.cmin_flt", { 0xc0200a, PM_TYPE_U32, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.11 */ { "proc.psinfo.maj_flt", { 0xc0200b, PM_TYPE_U32, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.12 */ { "proc.psinfo.cmaj_flt", { 0xc0200c, PM_TYPE_U32, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.13 */ { "proc.psinfo.utime", { 0xc0200d, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 3.8.14 */ { "proc.psinfo.stime", { 0xc0200e, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 3.8.15 */ { "proc.psinfo.cutime", { 0xc0200f, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 3.8.16 */ { "proc.psinfo.cstime", { 0xc02010, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=2, .scaleCount=0 } } },
+ /* 3.8.17 */ { "proc.psinfo.priority", { 0xc02011, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.18 */ { "proc.psinfo.nice", { 0xc02012, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.20 */ { "proc.psinfo.it_real_value", { 0xc02014, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.21 */ { "proc.psinfo.start_time", { 0xc02015, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=3, .scaleCount=0 } } },
+ /* 3.8.22 */ { "proc.psinfo.vsize", { 0xc02016, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.23 */ { "proc.psinfo.rss", { 0xc02017, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.24 */ { "proc.psinfo.rss_rlim", { 0xc02018, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.25 */ { "proc.psinfo.start_code", { 0xc02019, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.26 */ { "proc.psinfo.end_code", { 0xc0201a, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.27 */ { "proc.psinfo.start_stack", { 0xc0201b, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.28 */ { "proc.psinfo.esp", { 0xc0201c, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.29 */ { "proc.psinfo.eip", { 0xc0201d, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.30 */ { "proc.psinfo.signal", { 0xc0201e, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.31 */ { "proc.psinfo.blocked", { 0xc0201f, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.32 */ { "proc.psinfo.sigignore", { 0xc02020, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.33 */ { "proc.psinfo.sigcatch", { 0xc02021, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.34 */ { "proc.psinfo.wchan", { 0xc02022, PM_TYPE_U64, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.35 */ { "proc.psinfo.nswap", { 0xc02023, PM_TYPE_U32, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.36 */ { "proc.psinfo.cnswap", { 0xc02024, PM_TYPE_U32, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.37 */ { "proc.psinfo.exit_signal", { 0xc02025, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.38 */ { "proc.psinfo.processor", { 0xc02026, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.39 */ { "proc.psinfo.ttyname", { 0xc02027, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.40 */ { "proc.psinfo.wchan_s", { 0xc02028, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.8.41 */ { "proc.psinfo.psargs", { 0xc02029, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.16 */ { "proc.psinfo.signal_s", { 0xc06010, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.17 */ { "proc.psinfo.blocked_s", { 0xc06011, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.18 */ { "proc.psinfo.sigignore_s", { 0xc06012, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.19 */ { "proc.psinfo.sigcatch_s", { 0xc06013, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.0 */ { "proc.memory.size", { 0xc02400, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.1 */ { "proc.memory.rss", { 0xc02401, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.2 */ { "proc.memory.share", { 0xc02402, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.3 */ { "proc.memory.textrss", { 0xc02403, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.4 */ { "proc.memory.librss", { 0xc02404, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.5 */ { "proc.memory.datrss", { 0xc02405, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.6 */ { "proc.memory.dirty", { 0xc02406, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.9.7 */ { "proc.memory.maps", { 0xc02407, PM_TYPE_STRING, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.20 */ { "proc.memory.vmsize", { 0xc06014, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.21 */ { "proc.memory.vmlock", { 0xc06015, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.22 */ { "proc.memory.vmrss", { 0xc06016, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.23 */ { "proc.memory.vmdata", { 0xc06017, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.24 */ { "proc.memory.vmstack", { 0xc06018, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.25 */ { "proc.memory.vmexe", { 0xc06019, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.26 */ { "proc.memory.vmlib", { 0xc0601a, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=1, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.0 */ { "proc.runq.runnable", { 0xc03400, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.1 */ { "proc.runq.blocked", { 0xc03401, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.2 */ { "proc.runq.sleeping", { 0xc03402, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.3 */ { "proc.runq.stopped", { 0xc03403, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.4 */ { "proc.runq.swapped", { 0xc03404, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.5 */ { "proc.runq.defunct", { 0xc03405, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.6 */ { "proc.runq.unknown", { 0xc03406, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.13.7 */ { "proc.runq.kernel", { 0xc03407, PM_TYPE_32, PM_INDOM_NULL, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.0 */ { "proc.id.uid", { 0xc06000, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.1 */ { "proc.id.euid", { 0xc06001, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.2 */ { "proc.id.suid", { 0xc06002, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.3 */ { "proc.id.fsuid", { 0xc06003, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.4 */ { "proc.id.gid", { 0xc06004, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.5 */ { "proc.id.egid", { 0xc06005, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.6 */ { "proc.id.sgid", { 0xc06006, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.7 */ { "proc.id.fsgid", { 0xc06007, PM_TYPE_U32, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.8 */ { "proc.id.uid_nm", { 0xc06008, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.9 */ { "proc.id.euid_nm", { 0xc06009, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.10 */ { "proc.id.suid_nm", { 0xc0600a, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.11 */ { "proc.id.fsuid_nm", { 0xc0600b, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.12 */ { "proc.id.gid_nm", { 0xc0600c, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.13 */ { "proc.id.egid_nm", { 0xc0600d, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.14 */ { "proc.id.sgid_nm", { 0xc0600e, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.24.15 */ { "proc.id.fsgid_nm", { 0xc0600f, PM_TYPE_STRING, 0xc00009, PM_SEM_DISCRETE,
+ { .dimSpace=0, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.32.0 */ { "proc.io.rchar", { 0xc08000, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.32.1 */ { "proc.io.wchar", { 0xc08001, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.32.2 */ { "proc.io.syscr", { 0xc08002, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.32.3 */ { "proc.io.syscw", { 0xc08003, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.32.4 */ { "proc.io.read_bytes", { 0xc08004, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.32.5 */ { "proc.io.write_bytes", { 0xc08005, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.32.6 */ { "proc.io.cancelled_write_bytes", { 0xc08006, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=1, .dimTime=0, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.31.0 */ { "proc.schedstat.cpu_time", { 0xc07c00, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.31.1 */ { "proc.schedstat.run_delay", { 0xc07c01, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=1, .dimCount=0, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.31.2 */ { "proc.schedstat.pcount", { 0xc07c02, PM_TYPE_U64, 0xc00009, PM_SEM_COUNTER,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ /* 3.51.0 */ { "proc.fd.count", { 0xc0cc00, PM_TYPE_U32, 0xc00009, PM_SEM_INSTANT,
+ { .dimSpace=0, .dimTime=0, .dimCount=1, .scaleSpace=0, .scaleTime=0, .scaleCount=0 } } },
+ { NULL }
+};
diff --git a/src/collectl2pcp/metrics.h b/src/collectl2pcp/metrics.h
new file mode 100644
index 0000000..c31cfc7
--- /dev/null
+++ b/src/collectl2pcp/metrics.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Mark Goodwin <mgoodwin@redhat.com> May 2013.
+ */
+
+#include <ctype.h>
+#include <pcp/pmapi.h>
+#include <pcp/impl.h>
+#include <pcp/pmda.h>
+#include <pcp/import.h>
+
+/* domains from stdpmid */
+#define LINUX_DOMAIN 60
+#define PROC_DOMAIN 3
+
+/* Linux PMDA instance domain identifiers */
+#include "../../pmdas/linux/indom.h"
+
+/* PCP metric, see metrics.c */
+typedef struct {
+ char *name;
+ pmDesc desc;
+} metric_t;
+
+/* parsed input buffer, split into fields. See fields_new() et al */
+typedef struct {
+ int len;
+ char *buf;
+ int nfields;
+ char **fields;
+ int *fieldlen;
+} fields_t;
+
+/* handler to convert parsed fields into pcp metrics and emit them */
+typedef struct handler {
+ char *pattern;
+ int (*handler)(struct handler *h, fields_t *f);
+ char *metric_name;
+} handler_t;
+
+/* global options */
+extern int vflag;
+extern int kernel_all_hz;
+extern int utc_offset;
+
+/* metric table, see metrics.c (generated from pmdesc) */
+extern metric_t metrics[];
+
+/* instance domain count table - needed for dynamic instances */
+extern int indom_cnt[NUM_INDOMS];
+
+/* metric value handler table */
+extern handler_t handlers[];
+
+/* handlers */
+extern int header_handler(FILE *fp, char *fname, char *buf, int buflen);
+extern int timestamp_flush(void);
+extern int timestamp_handler(handler_t *h, fields_t *f);
+extern int cpu_handler(handler_t *h, fields_t *f);
+extern int proc_handler(handler_t *h, fields_t *f);
+extern int disk_handler(handler_t *h, fields_t *f);
+extern int net_handler(handler_t *h, fields_t *f);
+extern int loadavg_handler(handler_t *h, fields_t *f);
+extern int generic1_handler(handler_t *h, fields_t *f);
+extern int generic2_handler(handler_t *h, fields_t *f);
+
+/* various helpers, see util.c */
+extern metric_t *find_metric(char *name);
+extern handler_t *find_handler(char *buf);
+extern int put_str_instance(pmInDom indom, char *instance);
+extern int put_str_value(char *name, pmInDom indom, char *instance, char *val);
+extern int put_int_value(char *name, pmInDom indom, char *instance, int val);
+extern int put_ull_value(char *name, pmInDom indom, char *instance, unsigned long long val);
+
+/* helpers to parse and manage input buffers */
+extern int strfields(const char *s, int len, char **fields, int *fieldlen, int maxfields);
+extern fields_t *fields_new(const char *s, int len);
+extern fields_t *fields_dup(fields_t *f);
+extern void fields_free(fields_t *f);
diff --git a/src/collectl2pcp/net.c b/src/collectl2pcp/net.c
new file mode 100644
index 0000000..4b8e23b
--- /dev/null
+++ b/src/collectl2pcp/net.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Handler for network.interface.*
+ * Net lo: 216173634 2124262 0 0 0 0 0 0 216173634 2124262 0 0 0 0 0 0
+ */
+
+
+#include "metrics.h"
+
+int
+net_handler(handler_t *h, fields_t *f)
+{
+ int n;
+ char *s;
+ char *inst;
+ pmInDom indom = pmInDom_build(LINUX_DOMAIN, NET_DEV_INDOM);
+
+ /*
+Inter-| Receive | Transmit
+ face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
+ lo: 4060748 39057 0 0 0 0 0 0 4060748 39057 0 0 0 0 0 0
+ eth0: 0 337614 0 0 0 0 0 0 0 267537 0 0 0 27346 62 0
+ */
+
+ if (f->nfields != 18)
+ return -1;
+
+ inst = f->fields[1];
+ if ((s = strchr(inst, ':')) != NULL)
+ *s = '\0';
+
+ n = 2;
+ put_str_value("network.interface.in.bytes", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.in.packets", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.in.errors", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.in.drops", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.in.fifo", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.in.frame", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.in.compressed", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.in.mcasts", indom, inst, f->fields[n++]);
+
+ put_str_value("network.interface.out.bytes", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.out.packets", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.out.errors", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.out.drops", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.out.fifo", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.collisions", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.out.carrier", indom, inst, f->fields[n++]);
+ put_str_value("network.interface.out.compressed", indom, inst, f->fields[n++]);
+
+ return 0;
+}
+
diff --git a/src/collectl2pcp/pmdesc.c b/src/collectl2pcp/pmdesc.c
new file mode 100644
index 0000000..72de8e7
--- /dev/null
+++ b/src/collectl2pcp/pmdesc.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ *
+ * Lookup up the metrics named on stdin and generate pmDesc descriptors.
+ * Mark Goodwin <mgoodwin@redhat.com> May 2013.
+ */
+
+#include <pcp/pmapi.h>
+#include <pcp/impl.h>
+#include <pcp/pmda.h>
+
+static char *semStr[] = { "0", "PM_SEM_COUNTER", "2", "PM_SEM_INSTANT", "PM_SEM_DISCRETE" };
+
+static char *
+indomStr(int indom)
+{
+ static char buf[16];
+
+ if (indom == PM_INDOM_NULL)
+ strcpy(buf, "PM_INDOM_NULL");
+ else
+ sprintf(buf, "0x%04x", indom);
+
+ return buf;
+}
+
+int
+main(int argc, char *argv[])
+{
+ int ctx;
+ int sts;
+ char buf[1024];
+ char *name = buf;
+ char *p;
+ pmID pmid;
+ pmDesc desc;
+
+ ctx = pmNewContext(PM_CONTEXT_HOST, "local:");
+ if (ctx < 0) {
+ fprintf(stderr, "Error: pmNewContext %s\n", pmErrStr(ctx));
+ exit(1);
+ }
+
+ printf("/* This file is automatically generated .. do not edit! */\n");
+ printf("#include \"metrics.h\"\n\n");
+
+ printf("metric_t metrics[] = {\n");
+ while (fgets(buf, sizeof(buf), stdin)) {
+ if ((p = strrchr(buf, '\n')) != NULL)
+ *p = '\0';
+
+ if ((sts = pmLookupName(1, &name, &pmid)) < 0) {
+ fprintf(stderr, "Error: pmLookupName \"%s\": %s\n", name, pmErrStr(sts));
+ exit(1);
+ }
+
+ if ((sts = pmLookupDesc(pmid, &desc)) < 0) {
+ fprintf(stderr, "Error: pmLookupDesc \"%s\": %s\n", name, pmErrStr(sts));
+ exit(1);
+ }
+
+ printf(" /* %-8s */ { \"%s\", { 0x%04x, PM_TYPE_%s, %s, %s,\n"
+ " { .dimSpace=%d, .dimTime=%d, .dimCount=%d, "
+ ".scaleSpace=%d, .scaleTime=%d, .scaleCount=%d } } },\n",
+ pmIDStr(desc.pmid), name, desc.pmid, pmTypeStr(desc.type),
+ indomStr(desc.indom), semStr[desc.sem], desc.units.dimSpace,
+ desc.units.dimTime, desc.units.dimCount, desc.units.scaleSpace,
+ desc.units.scaleTime, desc.units.scaleCount);
+ }
+
+ printf(" { NULL }\n};\n");
+ exit(0);
+}
diff --git a/src/collectl2pcp/proc.c b/src/collectl2pcp/proc.c
new file mode 100644
index 0000000..516087c
--- /dev/null
+++ b/src/collectl2pcp/proc.c
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Handler for per-process metrics
+ *
+ * proc:28896 stat 28896 (bash) S 3574 28896 28896 34844 28896 4202496 2286 23473 1 21 4 2 486 129 20 0 1 0 125421198 119214080 85 18446744073709551615 4194304 5080360 140737040162832 140737040157848 212270400064 0 0 3686404 1266761467 18446744071582594345 0 0 17 2 0 0 0 0 0 9310744 9344396 14004224
+ *
+ */
+
+#include "metrics.h"
+
+#define ticks_to_msec(ticks) (1000ULL * strtoull(ticks, NULL, 0) / kernel_all_hz)
+
+/* /proc/PID/stat fields (starting at fields[2]) */
+#define PROC_PID_STAT_PID 0
+#define PROC_PID_STAT_CMD 1
+#define PROC_PID_STAT_STATE 2
+#define PROC_PID_STAT_PPID 3
+#define PROC_PID_STAT_PGRP 4
+#define PROC_PID_STAT_SESSION 5
+#define PROC_PID_STAT_TTY 6
+#define PROC_PID_STAT_TTY_PGRP 7
+#define PROC_PID_STAT_FLAGS 8
+#define PROC_PID_STAT_MINFLT 9
+#define PROC_PID_STAT_CMIN_FLT 10
+#define PROC_PID_STAT_MAJ_FLT 11
+#define PROC_PID_STAT_CMAJ_FLT 12
+#define PROC_PID_STAT_UTIME 13
+#define PROC_PID_STAT_STIME 14
+#define PROC_PID_STAT_CUTIME 15
+#define PROC_PID_STAT_CSTIME 16
+#define PROC_PID_STAT_PRIORITY 17
+#define PROC_PID_STAT_NICE 18
+#define PROC_PID_STAT_REMOVED 19
+#define PROC_PID_STAT_IT_REAL_VALUE 20
+#define PROC_PID_STAT_START_TIME 21
+#define PROC_PID_STAT_VSIZE 22
+#define PROC_PID_STAT_RSS 23
+#define PROC_PID_STAT_RSS_RLIM 24
+#define PROC_PID_STAT_START_CODE 25
+#define PROC_PID_STAT_END_CODE 26
+#define PROC_PID_STAT_START_STACK 27
+#define PROC_PID_STAT_ESP 28
+#define PROC_PID_STAT_EIP 29
+#define PROC_PID_STAT_SIGNAL 30
+#define PROC_PID_STAT_BLOCKED 31
+#define PROC_PID_STAT_SIGIGNORE 32
+#define PROC_PID_STAT_SIGCATCH 33
+#define PROC_PID_STAT_WCHAN 34
+#define PROC_PID_STAT_NSWAP 35
+#define PROC_PID_STAT_CNSWAP 36
+#define PROC_PID_STAT_EXIT_SIGNAL 37
+#define PROC_PID_STAT_PROCESSOR 38
+#define PROC_PID_STAT_TTYNAME 39
+#define PROC_PID_STAT_WCHAN_SYMBOL 40
+#define PROC_PID_STAT_PSARGS 41
+
+static char *inst;
+static fields_t *proc_stat;
+
+static int
+find_command_start(const char *buf, size_t len)
+{
+ int i;
+
+ /* skip over (minimal) leading "proc:N cmd " */
+ for (i = 7; i < len - 4; i++)
+ if (strncmp(&buf[i], "cmd", 4) == 0)
+ return i + 4;
+ return -1; /* wha? cannot find the "cmd" component */
+}
+
+static void
+inst_command_clean(char *command, size_t size)
+{
+ int i;
+
+ /* command contains nulls - replace 'em */
+ for (i = 0; i < size; i++) {
+ if (!isprint(command[i]))
+ command[i] = ' ';
+ }
+ /* and trailing whitespace - clean that */
+ while (--size) {
+ if (isspace(command[size]))
+ command[size] = '\0';
+ else
+ break;
+ }
+}
+
+void
+base_command_name(const char *command, char *base, size_t size)
+{
+ char *p, *start, *end;
+ int kernel = (command[0] == '('); /* kernel daemons heuristic */
+
+ /* moral equivalent of basename, dealing with args stripping too */
+ for (p = end = start = (char *)command; *p; end = ++p) {
+ if (kernel)
+ continue;
+ else if (*p == '/')
+ start = end = p+1;
+ else if (isspace(*p))
+ break;
+ }
+ size--; /* allow for a null */
+ if (size > (end - start))
+ size = (end - start);
+ memcpy(base, start, size);
+ base[size] = '\0';
+}
+
+int
+proc_handler(handler_t *h, fields_t *f)
+{
+ int pid, off, bytes;
+ char *command;
+ size_t size;
+
+ if (f->nfields < 2 || f->fieldlen[0] < 6)
+ return 0;
+
+ if (strcmp(f->fields[1], "cmd") == 0) {
+ /*
+ * e.g. :
+ * proc:27041 cmd /bin/sh /usr/prod/mts/common/bin/dblogin_gateway_reader
+ */
+ if ((off = find_command_start(f->buf, f->len)) < 0)
+ return 0;
+ size = f->len - off + 16; /* +16 for the "%06d " pid */
+ if ((inst = (char *)malloc(size)) == NULL)
+ return 0;
+ sscanf(f->buf, "proc:%d", &pid);
+ bytes = snprintf(inst, size, "%06d ", pid);
+
+ /* f->buf contains nulls - so memcpy it then replace 'em */
+ size = f->len - off - 1;
+ command = inst + bytes;
+ memcpy(command, f->buf + off, size);
+ command[size] = '\0';
+ inst_command_clean(command, size);
+ }
+
+ if (inst == NULL && strcmp(f->fields[1], "stat") == 0) {
+ /* no instance yet, so stash it for later */
+ proc_stat = fields_dup(f);
+ return 0;
+ }
+
+ if (inst) {
+ pmInDom indom = pmInDom_build(PROC_DOMAIN, PROC_PROC_INDOM);
+
+ if ((command = strchr(inst, ' ')) != NULL) {
+ char cmdname[MAXPATHLEN];
+
+ command++;
+ base_command_name(command, &cmdname[0], sizeof(cmdname));
+ put_str_value("proc.psinfo.cmd", indom, inst, cmdname);
+ put_str_value("proc.psinfo.psargs", indom, inst, command);
+ }
+
+ /* emit the stashed proc_stat fields */
+ put_ull_value("proc.psinfo.utime", indom, inst, ticks_to_msec(proc_stat->fields[PROC_PID_STAT_UTIME+2]));
+ put_ull_value("proc.psinfo.stime", indom, inst, ticks_to_msec(proc_stat->fields[PROC_PID_STAT_STIME+2]));
+ put_str_value("proc.psinfo.processor", indom, inst, proc_stat->fields[PROC_PID_STAT_PROCESSOR+2]);
+ put_str_value("proc.psinfo.rss", indom, inst, proc_stat->fields[PROC_PID_STAT_RSS+2]);
+ put_str_value("proc.psinfo.vsize", indom, inst, proc_stat->fields[PROC_PID_STAT_VSIZE+2]);
+ put_str_value("proc.psinfo.sname", indom, inst, proc_stat->fields[PROC_PID_STAT_STATE+2]);
+ /* and the rest .. */
+ fields_free(proc_stat);
+ proc_stat = NULL;
+
+ /* TODO emit other stashed stuff .. */
+
+ free(inst);
+ inst = NULL;
+ }
+
+ return 0;
+}
diff --git a/src/collectl2pcp/timestamp.c b/src/collectl2pcp/timestamp.c
new file mode 100644
index 0000000..45de17b
--- /dev/null
+++ b/src/collectl2pcp/timestamp.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ * Handler for timestamps
+ * >>> 1368076410.001 <<<
+ */
+
+#include "metrics.h"
+
+static int seconds = 0, mseconds = 0;
+
+int
+timestamp_flush(void)
+{
+ int sts;
+ int err = 0;
+
+ /*
+ * timstamps in collectl logs are seconds.mseconds since the epoch in utc
+ * Since we've set pmiSetTimezone to what was found in the header, we need
+ * to offset it here so the PCP archive matches the host timezone.
+ */
+ if (seconds && (sts = pmiWrite(seconds + utc_offset * 60 * 60, mseconds*1000)) < 0) {
+ if (sts != PMI_ERR_NODATA) {
+ fprintf(stderr, "Error: pmiWrite failed: error %d: %s\n", sts, pmiErrStr(sts));
+ err = sts; /* probably fatal */
+ }
+ }
+
+ return err;
+}
+
+int
+timestamp_handler(handler_t *h, fields_t *f)
+{
+
+ int sts;
+ int err = 0;
+
+ /* >>> 1368076390.001 <<< */
+ if (f->nfields != 3)
+ return -1;
+ if ((sts = timestamp_flush()) < 0)
+ err = sts;
+ sscanf(f->fields[1], "%d.%d", &seconds, &mseconds);
+
+ return err;
+}
diff --git a/src/collectl2pcp/util.c b/src/collectl2pcp/util.c
new file mode 100644
index 0000000..8d490e5
--- /dev/null
+++ b/src/collectl2pcp/util.c
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2013 Red Hat Inc.
+ *
+ * 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.
+ *
+ */
+
+#include "metrics.h"
+
+metric_t *
+find_metric(char *name)
+{
+ metric_t *m;
+
+ for (m = metrics; m->name; m++) {
+ if (strcmp(name, m->name) == 0)
+ break;
+ }
+
+ return m->name ? m : NULL;
+}
+
+handler_t *
+find_handler(char *tag)
+{
+ handler_t *h;
+
+ for (h = handlers; h->pattern; h++) {
+ if (strchr(h->pattern, '*') != NULL) {
+ /* match tag as a prefix, e.g. cpu* matches cpu123 */
+ if (strncmp(h->pattern, tag, strlen(h->pattern)-1) == 0)
+ break;
+ }
+ else {
+ /* exact match */
+ if (strcmp(h->pattern, tag) == 0)
+ break;
+ }
+ }
+
+ return h->pattern ? h : NULL;
+}
+
+int
+put_str_instance(pmInDom indom, char *instance)
+{
+ int sts;
+ __pmInDom_int *idp = __pmindom_int(&indom);
+ int id = indom_cnt[idp->serial]++;
+
+ sts = pmiAddInstance(indom, instance, id);
+ return sts ? sts : id;
+}
+
+int
+put_str_value(char *name, pmInDom indom, char *instance, char *val)
+{
+ int sts = 0;
+
+ if (!val)
+ fprintf(stderr, "Warning: put_str_value: ignored NULL value for \"%s\"\n", name);
+ else if (indom != PM_INDOM_NULL && !instance)
+ fprintf(stderr, "Warning: put_str_value: ignored NULL instance for non-singular indom for \"%s\"\n", name);
+ else {
+ sts = pmiPutValue(name, instance, val);
+ if (sts == PM_ERR_NAME) {
+#if 0
+ if (vflag)
+ fprintf(stderr, "Warning: unknown metric name \"%s\". Check metrics.c\n", name);
+#endif
+ return sts;
+ }
+ if (indom != PM_INDOM_NULL && instance && (sts == PM_ERR_INST || sts == PM_ERR_INDOM)) {
+ /* New instance has appeared */
+ sts = put_str_instance(indom, instance);
+ if (sts < 0)
+ fprintf(stderr, "Warning: put_str_value failed to add new instance \"%s\" for indom:%d err:%d : %s\n",
+ instance, indom, sts, pmiErrStr(sts));
+ else if (vflag)
+ printf("New instance %s[%d] \"%s\"\n", name, sts, instance);
+ sts = pmiPutValue(name, instance, val);
+ }
+ if (sts < 0)
+ fprintf(stderr, "Warning: put_str_value \"%s\" inst:\"%s\" value:\"%s\" failed: err=%d %s\n",
+ name, instance ? instance : "NULL", val ? val : "NULL", sts, pmiErrStr(sts));
+ }
+
+ return sts;
+}
+
+int
+put_int_value(char *name, pmInDom indom, char *instance, int val)
+{
+ char valbuf[64];
+
+ sprintf(valbuf, "%d", val);
+ return put_str_value(name, indom, instance, valbuf);
+}
+
+int
+put_ull_value(char *name, pmInDom indom, char *instance, unsigned long long val)
+{
+ char valbuf[64];
+
+ sprintf(valbuf, "%llu", val);
+ return put_str_value(name, indom, instance, valbuf);
+}
+
+/* split a string into fields and their lengths. Free fields[0] when done. */
+int
+strfields(const char *s, int len, char **fields, int *fieldlen, int maxfields)
+{
+ int i;
+ char *p;
+ char *p_end;
+
+ if (!s || *s == '\0')
+ return 0;
+
+ if ((p = strdup(s)) == NULL)
+ return 0;
+
+ for (i=0, p_end = p+len; i < maxfields;) {
+ fields[i] = p;
+ fieldlen[i] = 0;
+ while(*p && !isspace(*p) && p < p_end) {
+ p++;
+ fieldlen[i]++;
+ }
+ i++;
+ if (!*p)
+ break;
+ *p++ ='\0';
+ while (isspace(*p))
+ p++;
+ }
+
+ return i;
+}
+
+fields_t *
+fields_new(const char *s, int len)
+{
+ int n = 1;
+ const char *p;
+ fields_t *f = (fields_t *)malloc(sizeof(fields_t));
+
+ memset(f, 0, sizeof(fields_t));
+ f->len = len;
+ for (p=s; *p && p < s+len; p++) {
+ if (isspace(*p))
+ n++;
+ }
+ /*
+ * n is an upper bound, at least 1 (separator may repeat).
+ * fields[0] is the actual buffer, allocated by strfields
+ */
+ f->fields = (char **)malloc(n * sizeof(char *));
+ f->fieldlen = (int *)malloc(n * sizeof(int));
+ f->nfields = strfields(s, len, f->fields, f->fieldlen, n);
+ f->buf = f->fields[0];
+
+ return f;
+}
+
+fields_t *
+fields_dup(fields_t *f)
+{
+ int i;
+ fields_t *copy;
+
+ copy = malloc(sizeof(fields_t));
+ memset(copy, 0, sizeof(fields_t));
+ copy->len = f->len;
+ copy->buf = (char *)malloc(f->len + 1);
+ memcpy(copy->buf, f->buf, f->len);
+
+ copy->nfields = f->nfields;
+ copy->fields = (char **)malloc(f->nfields * sizeof(char *));
+ copy->fieldlen = (int *)malloc(f->nfields * sizeof(int));
+
+ copy->fields[0] = copy->buf;
+ for (i=1; i < f->nfields; i++) {
+ copy->fieldlen[i] = f->fieldlen[i];
+ copy->fields[i] = copy->fields[0] + (f->fields[i] - f->fields[0]);
+ }
+
+ return copy;
+}
+
+void
+fields_free(fields_t *f)
+{
+ free(f->buf);
+ free(f->fields);
+ free(f->fieldlen);
+ free(f);
+}
+