From 04172e6a78e87613e49d16b42f99a8666fee2611 Mon Sep 17 00:00:00 2001 From: Calle Pettersson Date: Mon, 29 Aug 2016 09:46:44 +0200 Subject: [PATCH] Created Prometheus and WMI CounterTypes (markdown) --- Prometheus-and-WMI-CounterTypes.md | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Prometheus-and-WMI-CounterTypes.md diff --git a/Prometheus-and-WMI-CounterTypes.md b/Prometheus-and-WMI-CounterTypes.md new file mode 100644 index 0000000..277db7f --- /dev/null +++ b/Prometheus-and-WMI-CounterTypes.md @@ -0,0 +1,47 @@ +## Prometheus and WMI CounterTypes +WMI performance counters hava many types, and those need to be mapped to Prometheus' types. Below is a listing of WMI types, the Prometheus type that should be used, and any processing that needs to be done. + +This applies to WMI classes inheriting `Win32_PerfRawData`. + +| WMI type | Prometheus type | Processing | +|---------------------------------------|-----------------|--------------------------------------| +| `PERF_COUNTER_RAWCOUNT_HEX` | | | +| `PERF_COUNTER_LARGE_RAWCOUNT_HEX` | | | +| `PERF_COUNTER_TEXT` | | | +| `PERF_COUNTER_RAWCOUNT` | `gauge` | | +| `PERF_COUNTER_LARGE_RAWCOUNT` | | | +| `PERF_DOUBLE_RAW` | | | +| `PERF_COUNTER_DELTA` | | | +| `PERF_COUNTER_LARGE_DELTA` | | | +| `PERF_SAMPLE_COUNTER` | | | +| `PERF_COUNTER_QUEUELEN_TYPE` | | | +| `PERF_COUNTER_LARGE_QUEUELEN_TYPE` | | | +| `PERF_COUNTER_100NS_QUEUELEN_TYPE` | | | +| `PERF_COUNTER_OBJ_TIME_QUEUELEN_TYPE` | | | +| `PERF_COUNTER_COUNTER` | `counter` | | +| `PERF_COUNTER_BULK_COUNT` | `counter` | | +| `PERF_RAW_FRACTION` | | | +| `PERF_COUNTER_TIMER` | | | +| `PERF_PRECISION_SYSTEM_TIMER` | | | +| `PERF_100NSEC_TIMER` | | | +| `PERF_PRECISION_100NS_TIMER` | `counter` | Normalize to seconds (`value / 1e7`) | +| `PERF_OBJ_TIME_TIMER` | | | +| `PERF_PRECISION_OBJECT_TIMER` | | | +| `PERF_SAMPLE_FRACTION` | | | +| `PERF_COUNTER_TIMER_INV` | | | +| `PERF_100NSEC_TIMER_INV` | | | +| `PERF_COUNTER_MULTI_TIMER` | | | +| `PERF_100NSEC_MULTI_TIMER` | | | +| `PERF_COUNTER_MULTI_TIMER_INV` | | | +| `PERF_100NSEC_MULTI_TIMER_INV` | | | +| `PERF_AVERAGE_TIMER` | | | +| `PERF_ELAPSED_TIME` | | | +| `PERF_COUNTER_NODATA` | | | +| `PERF_AVERAGE_BULK` | | | +| `PERF_SAMPLE_BASE` | | | +| `PERF_AVERAGE_BASE` | | | +| `PERF_RAW_BASE` | | | +| `PERF_PRECISION_TIMESTAMP` | | | +| `PERF_LARGE_RAW_BASE` | | | +| `PERF_COUNTER_MULTI_BASE` | | | +| `PERF_COUNTER_HISTOGRAM_TYPE` | | |