From a98067a294bd6cebde76d3078ba85b73b7166a74 Mon Sep 17 00:00:00 2001 From: Brian Brazil Date: Wed, 17 Jan 2018 16:55:55 +0000 Subject: [PATCH] Make metrics better follow guidelines (#787) * Improve stat linux metric names. cpu is no longer used. * node_cpu -> node_cpu_seconds_total for Linux * Improve filesystem metric names with units * Improve units and names of linux disk stats Remove sector metrics, the bytes metrics cover those already. * Infiniband counters should end in _total * Improve timex metric names, convert to more normal units. See https://github.com/torvalds/linux/blob/3c073991eb417b6f785ddc6afbbdc369eb84aa6a/kernel/time/ntp.c#L909 for what stabil means, looks like a moving average of some form. * Update test fixture * For meminfo metrics that had "kB" units, add _bytes * Interrupts counter should have _total --- collector/cpu_linux.go | 2 +- collector/diskstats_linux.go | 93 ++- collector/diskstats_linux_test.go | 8 - collector/filesystem_common.go | 6 +- collector/fixtures/e2e-output.txt | 958 +++++++++++++++--------------- collector/infiniband_linux.go | 4 +- collector/interrupts_common.go | 2 +- collector/meminfo_linux.go | 7 +- collector/meminfo_linux_test.go | 4 +- collector/meminfo_openbsd.go | 22 +- collector/stat_linux.go | 14 +- collector/timex.go | 31 +- 12 files changed, 547 insertions(+), 604 deletions(-) diff --git a/collector/cpu_linux.go b/collector/cpu_linux.go index 99cc55aa..2dc8f5f2 100644 --- a/collector/cpu_linux.go +++ b/collector/cpu_linux.go @@ -54,7 +54,7 @@ func init() { func NewCPUCollector() (Collector, error) { return &cpuCollector{ cpu: prometheus.NewDesc( - prometheus.BuildFQName(namespace, "", cpuCollectorSubsystem), + prometheus.BuildFQName(namespace, cpuCollectorSubsystem, "seconds_total"), "Seconds the cpus spent in each mode.", []string{"cpu", "mode"}, nil, ), diff --git a/collector/diskstats_linux.go b/collector/diskstats_linux.go index 8c1e5ccc..c80db4c9 100644 --- a/collector/diskstats_linux.go +++ b/collector/diskstats_linux.go @@ -30,17 +30,30 @@ import ( ) const ( - diskSubsystem = "disk" - diskSectorSize uint64 = 512 + diskSubsystem = "disk" + diskSectorSize = 512 ) var ( ignoredDevices = kingpin.Flag("collector.diskstats.ignored-devices", "Regexp of devices to ignore for diskstats.").Default("^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$").String() ) +type typedFactorDesc struct { + desc *prometheus.Desc + valueType prometheus.ValueType + factor float64 +} + +func (d *typedFactorDesc) mustNewConstMetric(value float64, labels ...string) prometheus.Metric { + if d.factor != 0 { + value *= d.factor + } + return prometheus.MustNewConstMetric(d.desc, d.valueType, value, labels...) +} + type diskstatsCollector struct { ignoredDevicesPattern *regexp.Regexp - descs []typedDesc + descs []typedFactorDesc } func init() { @@ -54,10 +67,10 @@ func NewDiskstatsCollector() (Collector, error) { return &diskstatsCollector{ ignoredDevicesPattern: regexp.MustCompile(*ignoredDevices), // Docs from https://www.kernel.org/doc/Documentation/iostats.txt - descs: []typedDesc{ + descs: []typedFactorDesc{ { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "reads_completed"), + prometheus.BuildFQName(namespace, diskSubsystem, "reads_completed_total"), "The total number of reads completed successfully.", diskLabelNames, nil, @@ -65,7 +78,7 @@ func NewDiskstatsCollector() (Collector, error) { }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "reads_merged"), + prometheus.BuildFQName(namespace, diskSubsystem, "reads_merged_total"), "The total number of reads merged. See https://www.kernel.org/doc/Documentation/iostats.txt.", diskLabelNames, nil, @@ -73,23 +86,25 @@ func NewDiskstatsCollector() (Collector, error) { }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "sectors_read"), - "The total number of sectors read successfully.", + prometheus.BuildFQName(namespace, diskSubsystem, "read_bytes_total"), + "The total number of bytes read successfully.", diskLabelNames, nil, ), valueType: prometheus.CounterValue, + factor: diskSectorSize, }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "read_time_ms"), + prometheus.BuildFQName(namespace, diskSubsystem, "read_time_seconds_total"), "The total number of milliseconds spent by all reads.", diskLabelNames, nil, ), valueType: prometheus.CounterValue, + factor: .001, }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "writes_completed"), + prometheus.BuildFQName(namespace, diskSubsystem, "writes_completed_total"), "The total number of writes completed successfully.", diskLabelNames, nil, @@ -97,7 +112,7 @@ func NewDiskstatsCollector() (Collector, error) { }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "writes_merged"), + prometheus.BuildFQName(namespace, diskSubsystem, "writes_merged_total"), "The number of writes merged. See https://www.kernel.org/doc/Documentation/iostats.txt.", diskLabelNames, nil, @@ -105,19 +120,21 @@ func NewDiskstatsCollector() (Collector, error) { }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "sectors_written"), - "The total number of sectors written successfully.", + prometheus.BuildFQName(namespace, diskSubsystem, "written_bytes_total"), + "The total number of bytes written successfully.", diskLabelNames, nil, ), valueType: prometheus.CounterValue, + factor: diskSectorSize, }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "write_time_ms"), - "This is the total number of milliseconds spent by all writes.", + prometheus.BuildFQName(namespace, diskSubsystem, "write_time_seconds_total"), + "This is the total number of seconds spent by all writes.", diskLabelNames, nil, ), valueType: prometheus.CounterValue, + factor: .001, }, { desc: prometheus.NewDesc( @@ -129,35 +146,21 @@ func NewDiskstatsCollector() (Collector, error) { }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "io_time_ms"), - "Total Milliseconds spent doing I/Os.", + prometheus.BuildFQName(namespace, diskSubsystem, "io_time_seconds_total"), + "Total seconds spent doing I/Os.", diskLabelNames, nil, ), valueType: prometheus.CounterValue, + factor: .001, }, { desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "io_time_weighted"), - "The weighted # of milliseconds spent doing I/Os. See https://www.kernel.org/doc/Documentation/iostats.txt.", - diskLabelNames, - nil, - ), valueType: prometheus.CounterValue, - }, - { - desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "bytes_read"), - "The total number of bytes read successfully.", - diskLabelNames, - nil, - ), valueType: prometheus.CounterValue, - }, - { - desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, diskSubsystem, "bytes_written"), - "The total number of bytes written successfully.", + prometheus.BuildFQName(namespace, diskSubsystem, "io_time_weighted_seconds_total"), + "The weighted # of seconds spent doing I/Os. See https://www.kernel.org/doc/Documentation/iostats.txt.", diskLabelNames, nil, ), valueType: prometheus.CounterValue, + factor: .001, }, }, }, nil @@ -201,15 +204,6 @@ func getDiskStats() (map[string]map[int]string, error) { return parseDiskStats(file) } -func convertDiskSectorsToBytes(sectorCount string) (string, error) { - sectors, err := strconv.ParseUint(sectorCount, 10, 64) - if err != nil { - return "", err - } - - return strconv.FormatUint(sectors*diskSectorSize, 10), nil -} - func parseDiskStats(r io.Reader) (map[string]map[int]string, error) { var ( diskStats = map[string]map[int]string{} @@ -226,17 +220,6 @@ func parseDiskStats(r io.Reader) (map[string]map[int]string, error) { for i, v := range parts[3:] { diskStats[dev][i] = v } - bytesRead, err := convertDiskSectorsToBytes(diskStats[dev][2]) - if err != nil { - return nil, fmt.Errorf("invalid value for sectors read in %s: %s", procFilePath("diskstats"), scanner.Text()) - } - diskStats[dev][11] = bytesRead - - bytesWritten, err := convertDiskSectorsToBytes(diskStats[dev][6]) - if err != nil { - return nil, fmt.Errorf("invalid value for sectors written in %s: %s", procFilePath("diskstats"), scanner.Text()) - } - diskStats[dev][12] = bytesWritten } return diskStats, scanner.Err() diff --git a/collector/diskstats_linux_test.go b/collector/diskstats_linux_test.go index 21e53787..405bf281 100644 --- a/collector/diskstats_linux_test.go +++ b/collector/diskstats_linux_test.go @@ -37,12 +37,4 @@ func TestDiskStats(t *testing.T) { if want, got := "68", diskStats["mmcblk0p2"][10]; want != got { t.Errorf("want diskstats mmcblk0p2 %s, got %s", want, got) } - - if want, got := "513713216512", diskStats["sda"][11]; want != got { - t.Errorf("want diskstats sda read bytes %s, got %s", want, got) - } - - if want, got := "258916880384", diskStats["sda"][12]; want != got { - t.Errorf("want diskstats sda write bytes %s, got %s", want, got) - } } diff --git a/collector/filesystem_common.go b/collector/filesystem_common.go index ceac815f..47ee4bff 100644 --- a/collector/filesystem_common.go +++ b/collector/filesystem_common.go @@ -72,19 +72,19 @@ func NewFilesystemCollector() (Collector, error) { filesystemsTypesPattern := regexp.MustCompile(*ignoredFSTypes) sizeDesc := prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "size"), + prometheus.BuildFQName(namespace, subsystem, "size_bytes"), "Filesystem size in bytes.", filesystemLabelNames, nil, ) freeDesc := prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "free"), + prometheus.BuildFQName(namespace, subsystem, "free_bytes"), "Filesystem free space in bytes.", filesystemLabelNames, nil, ) availDesc := prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "avail"), + prometheus.BuildFQName(namespace, subsystem, "avail_bytes"), "Filesystem space available to non-root users in bytes.", filesystemLabelNames, nil, ) diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 41b3f162..1610ab60 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -158,9 +158,9 @@ node_bonding_active{master="int"} 1 node_bonding_slaves{master="bond0"} 0 node_bonding_slaves{master="dmz"} 2 node_bonding_slaves{master="int"} 2 -# HELP node_boot_time Node boot time, in unixtime. -# TYPE node_boot_time gauge -node_boot_time 1.418183276e+09 +# HELP node_boot_time_seconds Node boot time, in unixtime. +# TYPE node_boot_time_seconds gauge +node_boot_time_seconds 1.418183276e+09 # HELP node_buddyinfo_count Count of free blocks according to size. # TYPE node_buddyinfo_count gauge node_buddyinfo_count{node="0",size="0",zone="DMA"} 1 @@ -196,75 +196,9 @@ node_buddyinfo_count{node="0",size="8",zone="Normal"} 0 node_buddyinfo_count{node="0",size="9",zone="DMA"} 1 node_buddyinfo_count{node="0",size="9",zone="DMA32"} 0 node_buddyinfo_count{node="0",size="9",zone="Normal"} 0 -# HELP node_context_switches Total number of context switches. -# TYPE node_context_switches counter -node_context_switches 3.8014093e+07 -# HELP node_cpu Seconds the cpus spent in each mode. -# TYPE node_cpu counter -node_cpu{cpu="cpu0",mode="idle"} 10870.69 -node_cpu{cpu="cpu0",mode="iowait"} 2.2 -node_cpu{cpu="cpu0",mode="irq"} 0.01 -node_cpu{cpu="cpu0",mode="nice"} 0.19 -node_cpu{cpu="cpu0",mode="softirq"} 34.1 -node_cpu{cpu="cpu0",mode="steal"} 0 -node_cpu{cpu="cpu0",mode="system"} 210.45 -node_cpu{cpu="cpu0",mode="user"} 444.9 -node_cpu{cpu="cpu1",mode="idle"} 11107.87 -node_cpu{cpu="cpu1",mode="iowait"} 5.91 -node_cpu{cpu="cpu1",mode="irq"} 0 -node_cpu{cpu="cpu1",mode="nice"} 0.23 -node_cpu{cpu="cpu1",mode="softirq"} 0.46 -node_cpu{cpu="cpu1",mode="steal"} 0 -node_cpu{cpu="cpu1",mode="system"} 164.74 -node_cpu{cpu="cpu1",mode="user"} 478.69 -node_cpu{cpu="cpu2",mode="idle"} 11123.21 -node_cpu{cpu="cpu2",mode="iowait"} 4.41 -node_cpu{cpu="cpu2",mode="irq"} 0 -node_cpu{cpu="cpu2",mode="nice"} 0.36 -node_cpu{cpu="cpu2",mode="softirq"} 3.26 -node_cpu{cpu="cpu2",mode="steal"} 0 -node_cpu{cpu="cpu2",mode="system"} 159.16 -node_cpu{cpu="cpu2",mode="user"} 465.04 -node_cpu{cpu="cpu3",mode="idle"} 11132.3 -node_cpu{cpu="cpu3",mode="iowait"} 5.33 -node_cpu{cpu="cpu3",mode="irq"} 0 -node_cpu{cpu="cpu3",mode="nice"} 1.02 -node_cpu{cpu="cpu3",mode="softirq"} 0.6 -node_cpu{cpu="cpu3",mode="steal"} 0 -node_cpu{cpu="cpu3",mode="system"} 156.83 -node_cpu{cpu="cpu3",mode="user"} 470.54 -node_cpu{cpu="cpu4",mode="idle"} 11403.21 -node_cpu{cpu="cpu4",mode="iowait"} 2.17 -node_cpu{cpu="cpu4",mode="irq"} 0 -node_cpu{cpu="cpu4",mode="nice"} 0.25 -node_cpu{cpu="cpu4",mode="softirq"} 0.08 -node_cpu{cpu="cpu4",mode="steal"} 0 -node_cpu{cpu="cpu4",mode="system"} 107.76 -node_cpu{cpu="cpu4",mode="user"} 284.13 -node_cpu{cpu="cpu5",mode="idle"} 11362.7 -node_cpu{cpu="cpu5",mode="iowait"} 6.72 -node_cpu{cpu="cpu5",mode="irq"} 0 -node_cpu{cpu="cpu5",mode="nice"} 1.01 -node_cpu{cpu="cpu5",mode="softirq"} 0.3 -node_cpu{cpu="cpu5",mode="steal"} 0 -node_cpu{cpu="cpu5",mode="system"} 115.86 -node_cpu{cpu="cpu5",mode="user"} 292.71 -node_cpu{cpu="cpu6",mode="idle"} 11397.21 -node_cpu{cpu="cpu6",mode="iowait"} 3.19 -node_cpu{cpu="cpu6",mode="irq"} 0 -node_cpu{cpu="cpu6",mode="nice"} 0.36 -node_cpu{cpu="cpu6",mode="softirq"} 0.29 -node_cpu{cpu="cpu6",mode="steal"} 0 -node_cpu{cpu="cpu6",mode="system"} 102.76 -node_cpu{cpu="cpu6",mode="user"} 291.52 -node_cpu{cpu="cpu7",mode="idle"} 11392.82 -node_cpu{cpu="cpu7",mode="iowait"} 5.55 -node_cpu{cpu="cpu7",mode="irq"} 0 -node_cpu{cpu="cpu7",mode="nice"} 2.68 -node_cpu{cpu="cpu7",mode="softirq"} 0.31 -node_cpu{cpu="cpu7",mode="steal"} 0 -node_cpu{cpu="cpu7",mode="system"} 101.64 -node_cpu{cpu="cpu7",mode="user"} 290.98 +# HELP node_context_switches_total Total number of context switches. +# TYPE node_context_switches_total counter +node_context_switches_total 3.8014093e+07 # HELP node_cpu_core_throttles_total Number of times this cpu core has been throttled. # TYPE node_cpu_core_throttles_total counter node_cpu_core_throttles_total{cpu="cpu0"} 5 @@ -306,36 +240,72 @@ node_cpu_guest_seconds_total{cpu="7",mode="user"} 0.09 # HELP node_cpu_package_throttles_total Number of times this cpu package has been throttled. # TYPE node_cpu_package_throttles_total counter node_cpu_package_throttles_total{node="0"} 30 -# HELP node_disk_bytes_read The total number of bytes read successfully. -# TYPE node_disk_bytes_read counter -node_disk_bytes_read{device="dm-0"} 5.13708655616e+11 -node_disk_bytes_read{device="dm-1"} 1.589248e+06 -node_disk_bytes_read{device="dm-2"} 1.578752e+08 -node_disk_bytes_read{device="dm-3"} 1.98144e+06 -node_disk_bytes_read{device="dm-4"} 529408 -node_disk_bytes_read{device="dm-5"} 4.3150848e+07 -node_disk_bytes_read{device="mmcblk0"} 798720 -node_disk_bytes_read{device="mmcblk0p1"} 81920 -node_disk_bytes_read{device="mmcblk0p2"} 389120 -node_disk_bytes_read{device="nvme0n1"} 2.377714176e+09 -node_disk_bytes_read{device="sda"} 5.13713216512e+11 -node_disk_bytes_read{device="sr0"} 0 -node_disk_bytes_read{device="vda"} 1.6727491584e+10 -# HELP node_disk_bytes_written The total number of bytes written successfully. -# TYPE node_disk_bytes_written counter -node_disk_bytes_written{device="dm-0"} 2.5891680256e+11 -node_disk_bytes_written{device="dm-1"} 303104 -node_disk_bytes_written{device="dm-2"} 2.607828992e+09 -node_disk_bytes_written{device="dm-3"} 0 -node_disk_bytes_written{device="dm-4"} 70144 -node_disk_bytes_written{device="dm-5"} 5.89664256e+08 -node_disk_bytes_written{device="mmcblk0"} 0 -node_disk_bytes_written{device="mmcblk0p1"} 0 -node_disk_bytes_written{device="mmcblk0p2"} 0 -node_disk_bytes_written{device="nvme0n1"} 2.0199236096e+10 -node_disk_bytes_written{device="sda"} 2.58916880384e+11 -node_disk_bytes_written{device="sr0"} 0 -node_disk_bytes_written{device="vda"} 1.0938236928e+11 +# HELP node_cpu_seconds_total Seconds the cpus spent in each mode. +# TYPE node_cpu_seconds_total counter +node_cpu_seconds_total{cpu="cpu0",mode="idle"} 10870.69 +node_cpu_seconds_total{cpu="cpu0",mode="iowait"} 2.2 +node_cpu_seconds_total{cpu="cpu0",mode="irq"} 0.01 +node_cpu_seconds_total{cpu="cpu0",mode="nice"} 0.19 +node_cpu_seconds_total{cpu="cpu0",mode="softirq"} 34.1 +node_cpu_seconds_total{cpu="cpu0",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu0",mode="system"} 210.45 +node_cpu_seconds_total{cpu="cpu0",mode="user"} 444.9 +node_cpu_seconds_total{cpu="cpu1",mode="idle"} 11107.87 +node_cpu_seconds_total{cpu="cpu1",mode="iowait"} 5.91 +node_cpu_seconds_total{cpu="cpu1",mode="irq"} 0 +node_cpu_seconds_total{cpu="cpu1",mode="nice"} 0.23 +node_cpu_seconds_total{cpu="cpu1",mode="softirq"} 0.46 +node_cpu_seconds_total{cpu="cpu1",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu1",mode="system"} 164.74 +node_cpu_seconds_total{cpu="cpu1",mode="user"} 478.69 +node_cpu_seconds_total{cpu="cpu2",mode="idle"} 11123.21 +node_cpu_seconds_total{cpu="cpu2",mode="iowait"} 4.41 +node_cpu_seconds_total{cpu="cpu2",mode="irq"} 0 +node_cpu_seconds_total{cpu="cpu2",mode="nice"} 0.36 +node_cpu_seconds_total{cpu="cpu2",mode="softirq"} 3.26 +node_cpu_seconds_total{cpu="cpu2",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu2",mode="system"} 159.16 +node_cpu_seconds_total{cpu="cpu2",mode="user"} 465.04 +node_cpu_seconds_total{cpu="cpu3",mode="idle"} 11132.3 +node_cpu_seconds_total{cpu="cpu3",mode="iowait"} 5.33 +node_cpu_seconds_total{cpu="cpu3",mode="irq"} 0 +node_cpu_seconds_total{cpu="cpu3",mode="nice"} 1.02 +node_cpu_seconds_total{cpu="cpu3",mode="softirq"} 0.6 +node_cpu_seconds_total{cpu="cpu3",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu3",mode="system"} 156.83 +node_cpu_seconds_total{cpu="cpu3",mode="user"} 470.54 +node_cpu_seconds_total{cpu="cpu4",mode="idle"} 11403.21 +node_cpu_seconds_total{cpu="cpu4",mode="iowait"} 2.17 +node_cpu_seconds_total{cpu="cpu4",mode="irq"} 0 +node_cpu_seconds_total{cpu="cpu4",mode="nice"} 0.25 +node_cpu_seconds_total{cpu="cpu4",mode="softirq"} 0.08 +node_cpu_seconds_total{cpu="cpu4",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu4",mode="system"} 107.76 +node_cpu_seconds_total{cpu="cpu4",mode="user"} 284.13 +node_cpu_seconds_total{cpu="cpu5",mode="idle"} 11362.7 +node_cpu_seconds_total{cpu="cpu5",mode="iowait"} 6.72 +node_cpu_seconds_total{cpu="cpu5",mode="irq"} 0 +node_cpu_seconds_total{cpu="cpu5",mode="nice"} 1.01 +node_cpu_seconds_total{cpu="cpu5",mode="softirq"} 0.3 +node_cpu_seconds_total{cpu="cpu5",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu5",mode="system"} 115.86 +node_cpu_seconds_total{cpu="cpu5",mode="user"} 292.71 +node_cpu_seconds_total{cpu="cpu6",mode="idle"} 11397.21 +node_cpu_seconds_total{cpu="cpu6",mode="iowait"} 3.19 +node_cpu_seconds_total{cpu="cpu6",mode="irq"} 0 +node_cpu_seconds_total{cpu="cpu6",mode="nice"} 0.36 +node_cpu_seconds_total{cpu="cpu6",mode="softirq"} 0.29 +node_cpu_seconds_total{cpu="cpu6",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu6",mode="system"} 102.76 +node_cpu_seconds_total{cpu="cpu6",mode="user"} 291.52 +node_cpu_seconds_total{cpu="cpu7",mode="idle"} 11392.82 +node_cpu_seconds_total{cpu="cpu7",mode="iowait"} 5.55 +node_cpu_seconds_total{cpu="cpu7",mode="irq"} 0 +node_cpu_seconds_total{cpu="cpu7",mode="nice"} 2.68 +node_cpu_seconds_total{cpu="cpu7",mode="softirq"} 0.31 +node_cpu_seconds_total{cpu="cpu7",mode="steal"} 0 +node_cpu_seconds_total{cpu="cpu7",mode="system"} 101.64 +node_cpu_seconds_total{cpu="cpu7",mode="user"} 290.98 # HELP node_disk_io_now The number of I/Os currently in progress. # TYPE node_disk_io_now gauge node_disk_io_now{device="dm-0"} 0 @@ -351,156 +321,156 @@ node_disk_io_now{device="nvme0n1"} 0 node_disk_io_now{device="sda"} 0 node_disk_io_now{device="sr0"} 0 node_disk_io_now{device="vda"} 0 -# HELP node_disk_io_time_ms Total Milliseconds spent doing I/Os. -# TYPE node_disk_io_time_ms counter -node_disk_io_time_ms{device="dm-0"} 1.1325968e+07 -node_disk_io_time_ms{device="dm-1"} 76 -node_disk_io_time_ms{device="dm-2"} 65400 -node_disk_io_time_ms{device="dm-3"} 16 -node_disk_io_time_ms{device="dm-4"} 24 -node_disk_io_time_ms{device="dm-5"} 58848 -node_disk_io_time_ms{device="mmcblk0"} 136 -node_disk_io_time_ms{device="mmcblk0p1"} 24 -node_disk_io_time_ms{device="mmcblk0p2"} 68 -node_disk_io_time_ms{device="nvme0n1"} 222766 -node_disk_io_time_ms{device="sda"} 9.65388e+06 -node_disk_io_time_ms{device="sr0"} 0 -node_disk_io_time_ms{device="vda"} 4.1614592e+07 -# HELP node_disk_io_time_weighted The weighted # of milliseconds spent doing I/Os. See https://www.kernel.org/doc/Documentation/iostats.txt. -# TYPE node_disk_io_time_weighted counter -node_disk_io_time_weighted{device="dm-0"} 1.206301256e+09 -node_disk_io_time_weighted{device="dm-1"} 84 -node_disk_io_time_weighted{device="dm-2"} 129416 -node_disk_io_time_weighted{device="dm-3"} 104 -node_disk_io_time_weighted{device="dm-4"} 44 -node_disk_io_time_weighted{device="dm-5"} 105632 -node_disk_io_time_weighted{device="mmcblk0"} 156 -node_disk_io_time_weighted{device="mmcblk0p1"} 24 -node_disk_io_time_weighted{device="mmcblk0p2"} 68 -node_disk_io_time_weighted{device="nvme0n1"} 1.032546e+06 -node_disk_io_time_weighted{device="sda"} 8.2621804e+07 -node_disk_io_time_weighted{device="sr0"} 0 -node_disk_io_time_weighted{device="vda"} 2.077872228e+09 -# HELP node_disk_read_time_ms The total number of milliseconds spent by all reads. -# TYPE node_disk_read_time_ms counter -node_disk_read_time_ms{device="dm-0"} 4.6229572e+07 -node_disk_read_time_ms{device="dm-1"} 84 -node_disk_read_time_ms{device="dm-2"} 6536 -node_disk_read_time_ms{device="dm-3"} 104 -node_disk_read_time_ms{device="dm-4"} 28 -node_disk_read_time_ms{device="dm-5"} 924 -node_disk_read_time_ms{device="mmcblk0"} 156 -node_disk_read_time_ms{device="mmcblk0p1"} 24 -node_disk_read_time_ms{device="mmcblk0p2"} 68 -node_disk_read_time_ms{device="nvme0n1"} 21650 -node_disk_read_time_ms{device="sda"} 1.8492372e+07 -node_disk_read_time_ms{device="sr0"} 0 -node_disk_read_time_ms{device="vda"} 8.655768e+06 -# HELP node_disk_reads_completed The total number of reads completed successfully. -# TYPE node_disk_reads_completed counter -node_disk_reads_completed{device="dm-0"} 5.9910002e+07 -node_disk_reads_completed{device="dm-1"} 388 -node_disk_reads_completed{device="dm-2"} 11571 -node_disk_reads_completed{device="dm-3"} 3870 -node_disk_reads_completed{device="dm-4"} 392 -node_disk_reads_completed{device="dm-5"} 3729 -node_disk_reads_completed{device="mmcblk0"} 192 -node_disk_reads_completed{device="mmcblk0p1"} 17 -node_disk_reads_completed{device="mmcblk0p2"} 95 -node_disk_reads_completed{device="nvme0n1"} 47114 -node_disk_reads_completed{device="sda"} 2.5354637e+07 -node_disk_reads_completed{device="sr0"} 0 -node_disk_reads_completed{device="vda"} 1.775784e+06 -# HELP node_disk_reads_merged The total number of reads merged. See https://www.kernel.org/doc/Documentation/iostats.txt. -# TYPE node_disk_reads_merged counter -node_disk_reads_merged{device="dm-0"} 0 -node_disk_reads_merged{device="dm-1"} 0 -node_disk_reads_merged{device="dm-2"} 0 -node_disk_reads_merged{device="dm-3"} 0 -node_disk_reads_merged{device="dm-4"} 0 -node_disk_reads_merged{device="dm-5"} 0 -node_disk_reads_merged{device="mmcblk0"} 3 -node_disk_reads_merged{device="mmcblk0p1"} 3 -node_disk_reads_merged{device="mmcblk0p2"} 0 -node_disk_reads_merged{device="nvme0n1"} 4 -node_disk_reads_merged{device="sda"} 3.4367663e+07 -node_disk_reads_merged{device="sr0"} 0 -node_disk_reads_merged{device="vda"} 15386 -# HELP node_disk_sectors_read The total number of sectors read successfully. -# TYPE node_disk_sectors_read counter -node_disk_sectors_read{device="dm-0"} 1.003337218e+09 -node_disk_sectors_read{device="dm-1"} 3104 -node_disk_sectors_read{device="dm-2"} 308350 -node_disk_sectors_read{device="dm-3"} 3870 -node_disk_sectors_read{device="dm-4"} 1034 -node_disk_sectors_read{device="dm-5"} 84279 -node_disk_sectors_read{device="mmcblk0"} 1560 -node_disk_sectors_read{device="mmcblk0p1"} 160 -node_disk_sectors_read{device="mmcblk0p2"} 760 -node_disk_sectors_read{device="nvme0n1"} 4.643973e+06 -node_disk_sectors_read{device="sda"} 1.003346126e+09 -node_disk_sectors_read{device="sr0"} 0 -node_disk_sectors_read{device="vda"} 3.2670882e+07 -# HELP node_disk_sectors_written The total number of sectors written successfully. -# TYPE node_disk_sectors_written counter -node_disk_sectors_written{device="dm-0"} 5.0569688e+08 -node_disk_sectors_written{device="dm-1"} 592 -node_disk_sectors_written{device="dm-2"} 5.093416e+06 -node_disk_sectors_written{device="dm-3"} 0 -node_disk_sectors_written{device="dm-4"} 137 -node_disk_sectors_written{device="dm-5"} 1.151688e+06 -node_disk_sectors_written{device="mmcblk0"} 0 -node_disk_sectors_written{device="mmcblk0p1"} 0 -node_disk_sectors_written{device="mmcblk0p2"} 0 -node_disk_sectors_written{device="nvme0n1"} 3.9451633e+07 -node_disk_sectors_written{device="sda"} 5.05697032e+08 -node_disk_sectors_written{device="sr0"} 0 -node_disk_sectors_written{device="vda"} 2.1363744e+08 -# HELP node_disk_write_time_ms This is the total number of milliseconds spent by all writes. -# TYPE node_disk_write_time_ms counter -node_disk_write_time_ms{device="dm-0"} 1.1585578e+09 -node_disk_write_time_ms{device="dm-1"} 0 -node_disk_write_time_ms{device="dm-2"} 122884 -node_disk_write_time_ms{device="dm-3"} 0 -node_disk_write_time_ms{device="dm-4"} 16 -node_disk_write_time_ms{device="dm-5"} 104684 -node_disk_write_time_ms{device="mmcblk0"} 0 -node_disk_write_time_ms{device="mmcblk0p1"} 0 -node_disk_write_time_ms{device="mmcblk0p2"} 0 -node_disk_write_time_ms{device="nvme0n1"} 1.011053e+06 -node_disk_write_time_ms{device="sda"} 6.387796e+07 -node_disk_write_time_ms{device="sr0"} 0 -node_disk_write_time_ms{device="vda"} 2.069221364e+09 -# HELP node_disk_writes_completed The total number of writes completed successfully. -# TYPE node_disk_writes_completed counter -node_disk_writes_completed{device="dm-0"} 3.9231014e+07 -node_disk_writes_completed{device="dm-1"} 74 -node_disk_writes_completed{device="dm-2"} 153522 -node_disk_writes_completed{device="dm-3"} 0 -node_disk_writes_completed{device="dm-4"} 38 -node_disk_writes_completed{device="dm-5"} 98918 -node_disk_writes_completed{device="mmcblk0"} 0 -node_disk_writes_completed{device="mmcblk0p1"} 0 -node_disk_writes_completed{device="mmcblk0p2"} 0 -node_disk_writes_completed{device="nvme0n1"} 1.07832e+06 -node_disk_writes_completed{device="sda"} 2.8444756e+07 -node_disk_writes_completed{device="sr0"} 0 -node_disk_writes_completed{device="vda"} 6.038856e+06 -# HELP node_disk_writes_merged The number of writes merged. See https://www.kernel.org/doc/Documentation/iostats.txt. -# TYPE node_disk_writes_merged counter -node_disk_writes_merged{device="dm-0"} 0 -node_disk_writes_merged{device="dm-1"} 0 -node_disk_writes_merged{device="dm-2"} 0 -node_disk_writes_merged{device="dm-3"} 0 -node_disk_writes_merged{device="dm-4"} 0 -node_disk_writes_merged{device="dm-5"} 0 -node_disk_writes_merged{device="mmcblk0"} 0 -node_disk_writes_merged{device="mmcblk0p1"} 0 -node_disk_writes_merged{device="mmcblk0p2"} 0 -node_disk_writes_merged{device="nvme0n1"} 43950 -node_disk_writes_merged{device="sda"} 1.1134226e+07 -node_disk_writes_merged{device="sr0"} 0 -node_disk_writes_merged{device="vda"} 2.0711856e+07 +# HELP node_disk_io_time_seconds_total Total seconds spent doing I/Os. +# TYPE node_disk_io_time_seconds_total counter +node_disk_io_time_seconds_total{device="dm-0"} 11325.968 +node_disk_io_time_seconds_total{device="dm-1"} 0.076 +node_disk_io_time_seconds_total{device="dm-2"} 65.4 +node_disk_io_time_seconds_total{device="dm-3"} 0.016 +node_disk_io_time_seconds_total{device="dm-4"} 0.024 +node_disk_io_time_seconds_total{device="dm-5"} 58.848 +node_disk_io_time_seconds_total{device="mmcblk0"} 0.136 +node_disk_io_time_seconds_total{device="mmcblk0p1"} 0.024 +node_disk_io_time_seconds_total{device="mmcblk0p2"} 0.068 +node_disk_io_time_seconds_total{device="nvme0n1"} 222.766 +node_disk_io_time_seconds_total{device="sda"} 9653.880000000001 +node_disk_io_time_seconds_total{device="sr0"} 0 +node_disk_io_time_seconds_total{device="vda"} 41614.592000000004 +# HELP node_disk_io_time_weighted_seconds_total The weighted # of seconds spent doing I/Os. See https://www.kernel.org/doc/Documentation/iostats.txt. +# TYPE node_disk_io_time_weighted_seconds_total counter +node_disk_io_time_weighted_seconds_total{device="dm-0"} 1.206301256e+06 +node_disk_io_time_weighted_seconds_total{device="dm-1"} 0.084 +node_disk_io_time_weighted_seconds_total{device="dm-2"} 129.416 +node_disk_io_time_weighted_seconds_total{device="dm-3"} 0.10400000000000001 +node_disk_io_time_weighted_seconds_total{device="dm-4"} 0.044 +node_disk_io_time_weighted_seconds_total{device="dm-5"} 105.632 +node_disk_io_time_weighted_seconds_total{device="mmcblk0"} 0.156 +node_disk_io_time_weighted_seconds_total{device="mmcblk0p1"} 0.024 +node_disk_io_time_weighted_seconds_total{device="mmcblk0p2"} 0.068 +node_disk_io_time_weighted_seconds_total{device="nvme0n1"} 1032.546 +node_disk_io_time_weighted_seconds_total{device="sda"} 82621.804 +node_disk_io_time_weighted_seconds_total{device="sr0"} 0 +node_disk_io_time_weighted_seconds_total{device="vda"} 2.0778722280000001e+06 +# HELP node_disk_read_bytes_total The total number of bytes read successfully. +# TYPE node_disk_read_bytes_total counter +node_disk_read_bytes_total{device="dm-0"} 5.13708655616e+11 +node_disk_read_bytes_total{device="dm-1"} 1.589248e+06 +node_disk_read_bytes_total{device="dm-2"} 1.578752e+08 +node_disk_read_bytes_total{device="dm-3"} 1.98144e+06 +node_disk_read_bytes_total{device="dm-4"} 529408 +node_disk_read_bytes_total{device="dm-5"} 4.3150848e+07 +node_disk_read_bytes_total{device="mmcblk0"} 798720 +node_disk_read_bytes_total{device="mmcblk0p1"} 81920 +node_disk_read_bytes_total{device="mmcblk0p2"} 389120 +node_disk_read_bytes_total{device="nvme0n1"} 2.377714176e+09 +node_disk_read_bytes_total{device="sda"} 5.13713216512e+11 +node_disk_read_bytes_total{device="sr0"} 0 +node_disk_read_bytes_total{device="vda"} 1.6727491584e+10 +# HELP node_disk_read_time_seconds_total The total number of milliseconds spent by all reads. +# TYPE node_disk_read_time_seconds_total counter +node_disk_read_time_seconds_total{device="dm-0"} 46229.572 +node_disk_read_time_seconds_total{device="dm-1"} 0.084 +node_disk_read_time_seconds_total{device="dm-2"} 6.5360000000000005 +node_disk_read_time_seconds_total{device="dm-3"} 0.10400000000000001 +node_disk_read_time_seconds_total{device="dm-4"} 0.028 +node_disk_read_time_seconds_total{device="dm-5"} 0.924 +node_disk_read_time_seconds_total{device="mmcblk0"} 0.156 +node_disk_read_time_seconds_total{device="mmcblk0p1"} 0.024 +node_disk_read_time_seconds_total{device="mmcblk0p2"} 0.068 +node_disk_read_time_seconds_total{device="nvme0n1"} 21.650000000000002 +node_disk_read_time_seconds_total{device="sda"} 18492.372 +node_disk_read_time_seconds_total{device="sr0"} 0 +node_disk_read_time_seconds_total{device="vda"} 8655.768 +# HELP node_disk_reads_completed_total The total number of reads completed successfully. +# TYPE node_disk_reads_completed_total counter +node_disk_reads_completed_total{device="dm-0"} 5.9910002e+07 +node_disk_reads_completed_total{device="dm-1"} 388 +node_disk_reads_completed_total{device="dm-2"} 11571 +node_disk_reads_completed_total{device="dm-3"} 3870 +node_disk_reads_completed_total{device="dm-4"} 392 +node_disk_reads_completed_total{device="dm-5"} 3729 +node_disk_reads_completed_total{device="mmcblk0"} 192 +node_disk_reads_completed_total{device="mmcblk0p1"} 17 +node_disk_reads_completed_total{device="mmcblk0p2"} 95 +node_disk_reads_completed_total{device="nvme0n1"} 47114 +node_disk_reads_completed_total{device="sda"} 2.5354637e+07 +node_disk_reads_completed_total{device="sr0"} 0 +node_disk_reads_completed_total{device="vda"} 1.775784e+06 +# HELP node_disk_reads_merged_total The total number of reads merged. See https://www.kernel.org/doc/Documentation/iostats.txt. +# TYPE node_disk_reads_merged_total counter +node_disk_reads_merged_total{device="dm-0"} 0 +node_disk_reads_merged_total{device="dm-1"} 0 +node_disk_reads_merged_total{device="dm-2"} 0 +node_disk_reads_merged_total{device="dm-3"} 0 +node_disk_reads_merged_total{device="dm-4"} 0 +node_disk_reads_merged_total{device="dm-5"} 0 +node_disk_reads_merged_total{device="mmcblk0"} 3 +node_disk_reads_merged_total{device="mmcblk0p1"} 3 +node_disk_reads_merged_total{device="mmcblk0p2"} 0 +node_disk_reads_merged_total{device="nvme0n1"} 4 +node_disk_reads_merged_total{device="sda"} 3.4367663e+07 +node_disk_reads_merged_total{device="sr0"} 0 +node_disk_reads_merged_total{device="vda"} 15386 +# HELP node_disk_write_time_seconds_total This is the total number of seconds spent by all writes. +# TYPE node_disk_write_time_seconds_total counter +node_disk_write_time_seconds_total{device="dm-0"} 1.1585578e+06 +node_disk_write_time_seconds_total{device="dm-1"} 0 +node_disk_write_time_seconds_total{device="dm-2"} 122.884 +node_disk_write_time_seconds_total{device="dm-3"} 0 +node_disk_write_time_seconds_total{device="dm-4"} 0.016 +node_disk_write_time_seconds_total{device="dm-5"} 104.684 +node_disk_write_time_seconds_total{device="mmcblk0"} 0 +node_disk_write_time_seconds_total{device="mmcblk0p1"} 0 +node_disk_write_time_seconds_total{device="mmcblk0p2"} 0 +node_disk_write_time_seconds_total{device="nvme0n1"} 1011.053 +node_disk_write_time_seconds_total{device="sda"} 63877.96 +node_disk_write_time_seconds_total{device="sr0"} 0 +node_disk_write_time_seconds_total{device="vda"} 2.069221364e+06 +# HELP node_disk_writes_completed_total The total number of writes completed successfully. +# TYPE node_disk_writes_completed_total counter +node_disk_writes_completed_total{device="dm-0"} 3.9231014e+07 +node_disk_writes_completed_total{device="dm-1"} 74 +node_disk_writes_completed_total{device="dm-2"} 153522 +node_disk_writes_completed_total{device="dm-3"} 0 +node_disk_writes_completed_total{device="dm-4"} 38 +node_disk_writes_completed_total{device="dm-5"} 98918 +node_disk_writes_completed_total{device="mmcblk0"} 0 +node_disk_writes_completed_total{device="mmcblk0p1"} 0 +node_disk_writes_completed_total{device="mmcblk0p2"} 0 +node_disk_writes_completed_total{device="nvme0n1"} 1.07832e+06 +node_disk_writes_completed_total{device="sda"} 2.8444756e+07 +node_disk_writes_completed_total{device="sr0"} 0 +node_disk_writes_completed_total{device="vda"} 6.038856e+06 +# HELP node_disk_writes_merged_total The number of writes merged. See https://www.kernel.org/doc/Documentation/iostats.txt. +# TYPE node_disk_writes_merged_total counter +node_disk_writes_merged_total{device="dm-0"} 0 +node_disk_writes_merged_total{device="dm-1"} 0 +node_disk_writes_merged_total{device="dm-2"} 0 +node_disk_writes_merged_total{device="dm-3"} 0 +node_disk_writes_merged_total{device="dm-4"} 0 +node_disk_writes_merged_total{device="dm-5"} 0 +node_disk_writes_merged_total{device="mmcblk0"} 0 +node_disk_writes_merged_total{device="mmcblk0p1"} 0 +node_disk_writes_merged_total{device="mmcblk0p2"} 0 +node_disk_writes_merged_total{device="nvme0n1"} 43950 +node_disk_writes_merged_total{device="sda"} 1.1134226e+07 +node_disk_writes_merged_total{device="sr0"} 0 +node_disk_writes_merged_total{device="vda"} 2.0711856e+07 +# HELP node_disk_written_bytes_total The total number of bytes written successfully. +# TYPE node_disk_written_bytes_total counter +node_disk_written_bytes_total{device="dm-0"} 2.5891680256e+11 +node_disk_written_bytes_total{device="dm-1"} 303104 +node_disk_written_bytes_total{device="dm-2"} 2.607828992e+09 +node_disk_written_bytes_total{device="dm-3"} 0 +node_disk_written_bytes_total{device="dm-4"} 70144 +node_disk_written_bytes_total{device="dm-5"} 5.89664256e+08 +node_disk_written_bytes_total{device="mmcblk0"} 0 +node_disk_written_bytes_total{device="mmcblk0p1"} 0 +node_disk_written_bytes_total{device="mmcblk0p2"} 0 +node_disk_written_bytes_total{device="nvme0n1"} 2.0199236096e+10 +node_disk_written_bytes_total{device="sda"} 2.58916880384e+11 +node_disk_written_bytes_total{device="sr0"} 0 +node_disk_written_bytes_total{device="vda"} 1.0938236928e+11 # HELP node_drbd_activitylog_writes_total Number of updates of the activity log area of the meta data. # TYPE node_drbd_activitylog_writes_total counter node_drbd_activitylog_writes_total{device="drbd1"} 1100 @@ -573,9 +543,9 @@ node_filefd_allocated 1024 # HELP node_filefd_maximum File descriptor statistics: maximum. # TYPE node_filefd_maximum gauge node_filefd_maximum 1.631329e+06 -# HELP node_forks Total number of forks. -# TYPE node_forks counter -node_forks 26442 +# HELP node_forks_total Total number of forks. +# TYPE node_forks_total counter +node_forks_total 26442 # HELP node_hwmon_chip_names Annotation metric for human-readable chip names # TYPE node_hwmon_chip_names gauge node_hwmon_chip_names{chip="nct6779",chip_name="nct6779"} 1 @@ -847,14 +817,14 @@ node_infiniband_multicast_packets_received_total{device="mlx4_0",port="2"} 0 # TYPE node_infiniband_multicast_packets_transmitted_total counter node_infiniband_multicast_packets_transmitted_total{device="mlx4_0",port="1"} 16 node_infiniband_multicast_packets_transmitted_total{device="mlx4_0",port="2"} 0 -# HELP node_infiniband_port_data_received_bytes Number of data octets received on all links -# TYPE node_infiniband_port_data_received_bytes counter -node_infiniband_port_data_received_bytes{device="mlx4_0",port="1"} 1.8527668e+07 -node_infiniband_port_data_received_bytes{device="mlx4_0",port="2"} 0 -# HELP node_infiniband_port_data_transmitted_bytes Number of data octets transmitted on all links -# TYPE node_infiniband_port_data_transmitted_bytes counter -node_infiniband_port_data_transmitted_bytes{device="mlx4_0",port="1"} 1.493376e+07 -node_infiniband_port_data_transmitted_bytes{device="mlx4_0",port="2"} 0 +# HELP node_infiniband_port_data_received_bytes_total Number of data octets received on all links +# TYPE node_infiniband_port_data_received_bytes_total counter +node_infiniband_port_data_received_bytes_total{device="mlx4_0",port="1"} 1.8527668e+07 +node_infiniband_port_data_received_bytes_total{device="mlx4_0",port="2"} 0 +# HELP node_infiniband_port_data_transmitted_bytes_total Number of data octets transmitted on all links +# TYPE node_infiniband_port_data_transmitted_bytes_total counter +node_infiniband_port_data_transmitted_bytes_total{device="mlx4_0",port="1"} 1.493376e+07 +node_infiniband_port_data_transmitted_bytes_total{device="mlx4_0",port="2"} 0 # HELP node_infiniband_unicast_packets_received_total Number of unicast packets received (including errors) # TYPE node_infiniband_unicast_packets_received_total counter node_infiniband_unicast_packets_received_total{device="mlx4_0",port="1"} 61148 @@ -863,123 +833,123 @@ node_infiniband_unicast_packets_received_total{device="mlx4_0",port="2"} 0 # TYPE node_infiniband_unicast_packets_transmitted_total counter node_infiniband_unicast_packets_transmitted_total{device="mlx4_0",port="1"} 61239 node_infiniband_unicast_packets_transmitted_total{device="mlx4_0",port="2"} 0 -# HELP node_interrupts Interrupt details. -# TYPE node_interrupts counter -node_interrupts{CPU="0",devices="",info="APIC ICR read retries",type="RTR"} 0 -node_interrupts{CPU="0",devices="",info="Function call interrupts",type="CAL"} 148554 -node_interrupts{CPU="0",devices="",info="IRQ work interrupts",type="IWI"} 1.509379e+06 -node_interrupts{CPU="0",devices="",info="Local timer interrupts",type="LOC"} 1.74326351e+08 -node_interrupts{CPU="0",devices="",info="Machine check exceptions",type="MCE"} 0 -node_interrupts{CPU="0",devices="",info="Machine check polls",type="MCP"} 2406 -node_interrupts{CPU="0",devices="",info="Non-maskable interrupts",type="NMI"} 47 -node_interrupts{CPU="0",devices="",info="Performance monitoring interrupts",type="PMI"} 47 -node_interrupts{CPU="0",devices="",info="Rescheduling interrupts",type="RES"} 1.0847134e+07 -node_interrupts{CPU="0",devices="",info="Spurious interrupts",type="SPU"} 0 -node_interrupts{CPU="0",devices="",info="TLB shootdowns",type="TLB"} 1.0460334e+07 -node_interrupts{CPU="0",devices="",info="Thermal event interrupts",type="TRM"} 0 -node_interrupts{CPU="0",devices="",info="Threshold APIC interrupts",type="THR"} 0 -node_interrupts{CPU="0",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 398553 -node_interrupts{CPU="0",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 7.434032e+06 -node_interrupts{CPU="0",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 -node_interrupts{CPU="0",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 -node_interrupts{CPU="0",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 328511 -node_interrupts{CPU="0",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 1.451445e+06 -node_interrupts{CPU="0",devices="i8042",info="IR-IO-APIC-edge",type="1"} 17960 -node_interrupts{CPU="0",devices="i8042",info="IR-IO-APIC-edge",type="12"} 380847 -node_interrupts{CPU="0",devices="i915",info="IR-PCI-MSI-edge",type="44"} 140636 -node_interrupts{CPU="0",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 4.3078464e+07 -node_interrupts{CPU="0",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 4 -node_interrupts{CPU="0",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 1 -node_interrupts{CPU="0",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 350 -node_interrupts{CPU="0",devices="timer",info="IR-IO-APIC-edge",type="0"} 18 -node_interrupts{CPU="0",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 378324 -node_interrupts{CPU="1",devices="",info="APIC ICR read retries",type="RTR"} 0 -node_interrupts{CPU="1",devices="",info="Function call interrupts",type="CAL"} 157441 -node_interrupts{CPU="1",devices="",info="IRQ work interrupts",type="IWI"} 2.411776e+06 -node_interrupts{CPU="1",devices="",info="Local timer interrupts",type="LOC"} 1.35776678e+08 -node_interrupts{CPU="1",devices="",info="Machine check exceptions",type="MCE"} 0 -node_interrupts{CPU="1",devices="",info="Machine check polls",type="MCP"} 2399 -node_interrupts{CPU="1",devices="",info="Non-maskable interrupts",type="NMI"} 5031 -node_interrupts{CPU="1",devices="",info="Performance monitoring interrupts",type="PMI"} 5031 -node_interrupts{CPU="1",devices="",info="Rescheduling interrupts",type="RES"} 9.111507e+06 -node_interrupts{CPU="1",devices="",info="Spurious interrupts",type="SPU"} 0 -node_interrupts{CPU="1",devices="",info="TLB shootdowns",type="TLB"} 9.918429e+06 -node_interrupts{CPU="1",devices="",info="Thermal event interrupts",type="TRM"} 0 -node_interrupts{CPU="1",devices="",info="Threshold APIC interrupts",type="THR"} 0 -node_interrupts{CPU="1",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 2320 -node_interrupts{CPU="1",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 8.092205e+06 -node_interrupts{CPU="1",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 -node_interrupts{CPU="1",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 -node_interrupts{CPU="1",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 322879 -node_interrupts{CPU="1",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 3.333499e+06 -node_interrupts{CPU="1",devices="i8042",info="IR-IO-APIC-edge",type="1"} 105 -node_interrupts{CPU="1",devices="i8042",info="IR-IO-APIC-edge",type="12"} 1021 -node_interrupts{CPU="1",devices="i915",info="IR-PCI-MSI-edge",type="44"} 226313 -node_interrupts{CPU="1",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 130 -node_interrupts{CPU="1",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 22 -node_interrupts{CPU="1",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 0 -node_interrupts{CPU="1",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 224 -node_interrupts{CPU="1",devices="timer",info="IR-IO-APIC-edge",type="0"} 0 -node_interrupts{CPU="1",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 1.734637e+06 -node_interrupts{CPU="2",devices="",info="APIC ICR read retries",type="RTR"} 0 -node_interrupts{CPU="2",devices="",info="Function call interrupts",type="CAL"} 142912 -node_interrupts{CPU="2",devices="",info="IRQ work interrupts",type="IWI"} 1.512975e+06 -node_interrupts{CPU="2",devices="",info="Local timer interrupts",type="LOC"} 1.68393257e+08 -node_interrupts{CPU="2",devices="",info="Machine check exceptions",type="MCE"} 0 -node_interrupts{CPU="2",devices="",info="Machine check polls",type="MCP"} 2399 -node_interrupts{CPU="2",devices="",info="Non-maskable interrupts",type="NMI"} 6211 -node_interrupts{CPU="2",devices="",info="Performance monitoring interrupts",type="PMI"} 6211 -node_interrupts{CPU="2",devices="",info="Rescheduling interrupts",type="RES"} 1.5999335e+07 -node_interrupts{CPU="2",devices="",info="Spurious interrupts",type="SPU"} 0 -node_interrupts{CPU="2",devices="",info="TLB shootdowns",type="TLB"} 1.0494258e+07 -node_interrupts{CPU="2",devices="",info="Thermal event interrupts",type="TRM"} 0 -node_interrupts{CPU="2",devices="",info="Threshold APIC interrupts",type="THR"} 0 -node_interrupts{CPU="2",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 824 -node_interrupts{CPU="2",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 6.478877e+06 -node_interrupts{CPU="2",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 -node_interrupts{CPU="2",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 -node_interrupts{CPU="2",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 293782 -node_interrupts{CPU="2",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 1.092032e+06 -node_interrupts{CPU="2",devices="i8042",info="IR-IO-APIC-edge",type="1"} 28 -node_interrupts{CPU="2",devices="i8042",info="IR-IO-APIC-edge",type="12"} 240 -node_interrupts{CPU="2",devices="i915",info="IR-PCI-MSI-edge",type="44"} 347 -node_interrupts{CPU="2",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 460171 -node_interrupts{CPU="2",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 0 -node_interrupts{CPU="2",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 0 -node_interrupts{CPU="2",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 0 -node_interrupts{CPU="2",devices="timer",info="IR-IO-APIC-edge",type="0"} 0 -node_interrupts{CPU="2",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 440240 -node_interrupts{CPU="3",devices="",info="APIC ICR read retries",type="RTR"} 0 -node_interrupts{CPU="3",devices="",info="Function call interrupts",type="CAL"} 155528 -node_interrupts{CPU="3",devices="",info="IRQ work interrupts",type="IWI"} 2.428828e+06 -node_interrupts{CPU="3",devices="",info="Local timer interrupts",type="LOC"} 1.30980079e+08 -node_interrupts{CPU="3",devices="",info="Machine check exceptions",type="MCE"} 0 -node_interrupts{CPU="3",devices="",info="Machine check polls",type="MCP"} 2399 -node_interrupts{CPU="3",devices="",info="Non-maskable interrupts",type="NMI"} 4968 -node_interrupts{CPU="3",devices="",info="Performance monitoring interrupts",type="PMI"} 4968 -node_interrupts{CPU="3",devices="",info="Rescheduling interrupts",type="RES"} 7.45726e+06 -node_interrupts{CPU="3",devices="",info="Spurious interrupts",type="SPU"} 0 -node_interrupts{CPU="3",devices="",info="TLB shootdowns",type="TLB"} 1.0345022e+07 -node_interrupts{CPU="3",devices="",info="Thermal event interrupts",type="TRM"} 0 -node_interrupts{CPU="3",devices="",info="Threshold APIC interrupts",type="THR"} 0 -node_interrupts{CPU="3",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 863 -node_interrupts{CPU="3",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 7.492252e+06 -node_interrupts{CPU="3",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 -node_interrupts{CPU="3",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 -node_interrupts{CPU="3",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 351412 -node_interrupts{CPU="3",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 2.644609e+06 -node_interrupts{CPU="3",devices="i8042",info="IR-IO-APIC-edge",type="1"} 28 -node_interrupts{CPU="3",devices="i8042",info="IR-IO-APIC-edge",type="12"} 198 -node_interrupts{CPU="3",devices="i915",info="IR-PCI-MSI-edge",type="44"} 633 -node_interrupts{CPU="3",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 290 -node_interrupts{CPU="3",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 0 -node_interrupts{CPU="3",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 0 -node_interrupts{CPU="3",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 0 -node_interrupts{CPU="3",devices="timer",info="IR-IO-APIC-edge",type="0"} 0 -node_interrupts{CPU="3",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 2.434308e+06 -# HELP node_intr Total number of interrupts serviced. -# TYPE node_intr counter -node_intr 8.885917e+06 +# HELP node_interrupts_total Interrupt details. +# TYPE node_interrupts_total counter +node_interrupts_total{CPU="0",devices="",info="APIC ICR read retries",type="RTR"} 0 +node_interrupts_total{CPU="0",devices="",info="Function call interrupts",type="CAL"} 148554 +node_interrupts_total{CPU="0",devices="",info="IRQ work interrupts",type="IWI"} 1.509379e+06 +node_interrupts_total{CPU="0",devices="",info="Local timer interrupts",type="LOC"} 1.74326351e+08 +node_interrupts_total{CPU="0",devices="",info="Machine check exceptions",type="MCE"} 0 +node_interrupts_total{CPU="0",devices="",info="Machine check polls",type="MCP"} 2406 +node_interrupts_total{CPU="0",devices="",info="Non-maskable interrupts",type="NMI"} 47 +node_interrupts_total{CPU="0",devices="",info="Performance monitoring interrupts",type="PMI"} 47 +node_interrupts_total{CPU="0",devices="",info="Rescheduling interrupts",type="RES"} 1.0847134e+07 +node_interrupts_total{CPU="0",devices="",info="Spurious interrupts",type="SPU"} 0 +node_interrupts_total{CPU="0",devices="",info="TLB shootdowns",type="TLB"} 1.0460334e+07 +node_interrupts_total{CPU="0",devices="",info="Thermal event interrupts",type="TRM"} 0 +node_interrupts_total{CPU="0",devices="",info="Threshold APIC interrupts",type="THR"} 0 +node_interrupts_total{CPU="0",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 398553 +node_interrupts_total{CPU="0",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 7.434032e+06 +node_interrupts_total{CPU="0",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 +node_interrupts_total{CPU="0",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 +node_interrupts_total{CPU="0",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 328511 +node_interrupts_total{CPU="0",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 1.451445e+06 +node_interrupts_total{CPU="0",devices="i8042",info="IR-IO-APIC-edge",type="1"} 17960 +node_interrupts_total{CPU="0",devices="i8042",info="IR-IO-APIC-edge",type="12"} 380847 +node_interrupts_total{CPU="0",devices="i915",info="IR-PCI-MSI-edge",type="44"} 140636 +node_interrupts_total{CPU="0",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 4.3078464e+07 +node_interrupts_total{CPU="0",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 4 +node_interrupts_total{CPU="0",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 1 +node_interrupts_total{CPU="0",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 350 +node_interrupts_total{CPU="0",devices="timer",info="IR-IO-APIC-edge",type="0"} 18 +node_interrupts_total{CPU="0",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 378324 +node_interrupts_total{CPU="1",devices="",info="APIC ICR read retries",type="RTR"} 0 +node_interrupts_total{CPU="1",devices="",info="Function call interrupts",type="CAL"} 157441 +node_interrupts_total{CPU="1",devices="",info="IRQ work interrupts",type="IWI"} 2.411776e+06 +node_interrupts_total{CPU="1",devices="",info="Local timer interrupts",type="LOC"} 1.35776678e+08 +node_interrupts_total{CPU="1",devices="",info="Machine check exceptions",type="MCE"} 0 +node_interrupts_total{CPU="1",devices="",info="Machine check polls",type="MCP"} 2399 +node_interrupts_total{CPU="1",devices="",info="Non-maskable interrupts",type="NMI"} 5031 +node_interrupts_total{CPU="1",devices="",info="Performance monitoring interrupts",type="PMI"} 5031 +node_interrupts_total{CPU="1",devices="",info="Rescheduling interrupts",type="RES"} 9.111507e+06 +node_interrupts_total{CPU="1",devices="",info="Spurious interrupts",type="SPU"} 0 +node_interrupts_total{CPU="1",devices="",info="TLB shootdowns",type="TLB"} 9.918429e+06 +node_interrupts_total{CPU="1",devices="",info="Thermal event interrupts",type="TRM"} 0 +node_interrupts_total{CPU="1",devices="",info="Threshold APIC interrupts",type="THR"} 0 +node_interrupts_total{CPU="1",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 2320 +node_interrupts_total{CPU="1",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 8.092205e+06 +node_interrupts_total{CPU="1",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 +node_interrupts_total{CPU="1",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 +node_interrupts_total{CPU="1",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 322879 +node_interrupts_total{CPU="1",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 3.333499e+06 +node_interrupts_total{CPU="1",devices="i8042",info="IR-IO-APIC-edge",type="1"} 105 +node_interrupts_total{CPU="1",devices="i8042",info="IR-IO-APIC-edge",type="12"} 1021 +node_interrupts_total{CPU="1",devices="i915",info="IR-PCI-MSI-edge",type="44"} 226313 +node_interrupts_total{CPU="1",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 130 +node_interrupts_total{CPU="1",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 22 +node_interrupts_total{CPU="1",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 0 +node_interrupts_total{CPU="1",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 224 +node_interrupts_total{CPU="1",devices="timer",info="IR-IO-APIC-edge",type="0"} 0 +node_interrupts_total{CPU="1",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 1.734637e+06 +node_interrupts_total{CPU="2",devices="",info="APIC ICR read retries",type="RTR"} 0 +node_interrupts_total{CPU="2",devices="",info="Function call interrupts",type="CAL"} 142912 +node_interrupts_total{CPU="2",devices="",info="IRQ work interrupts",type="IWI"} 1.512975e+06 +node_interrupts_total{CPU="2",devices="",info="Local timer interrupts",type="LOC"} 1.68393257e+08 +node_interrupts_total{CPU="2",devices="",info="Machine check exceptions",type="MCE"} 0 +node_interrupts_total{CPU="2",devices="",info="Machine check polls",type="MCP"} 2399 +node_interrupts_total{CPU="2",devices="",info="Non-maskable interrupts",type="NMI"} 6211 +node_interrupts_total{CPU="2",devices="",info="Performance monitoring interrupts",type="PMI"} 6211 +node_interrupts_total{CPU="2",devices="",info="Rescheduling interrupts",type="RES"} 1.5999335e+07 +node_interrupts_total{CPU="2",devices="",info="Spurious interrupts",type="SPU"} 0 +node_interrupts_total{CPU="2",devices="",info="TLB shootdowns",type="TLB"} 1.0494258e+07 +node_interrupts_total{CPU="2",devices="",info="Thermal event interrupts",type="TRM"} 0 +node_interrupts_total{CPU="2",devices="",info="Threshold APIC interrupts",type="THR"} 0 +node_interrupts_total{CPU="2",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 824 +node_interrupts_total{CPU="2",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 6.478877e+06 +node_interrupts_total{CPU="2",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 +node_interrupts_total{CPU="2",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 +node_interrupts_total{CPU="2",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 293782 +node_interrupts_total{CPU="2",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 1.092032e+06 +node_interrupts_total{CPU="2",devices="i8042",info="IR-IO-APIC-edge",type="1"} 28 +node_interrupts_total{CPU="2",devices="i8042",info="IR-IO-APIC-edge",type="12"} 240 +node_interrupts_total{CPU="2",devices="i915",info="IR-PCI-MSI-edge",type="44"} 347 +node_interrupts_total{CPU="2",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 460171 +node_interrupts_total{CPU="2",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 0 +node_interrupts_total{CPU="2",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 0 +node_interrupts_total{CPU="2",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 0 +node_interrupts_total{CPU="2",devices="timer",info="IR-IO-APIC-edge",type="0"} 0 +node_interrupts_total{CPU="2",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 440240 +node_interrupts_total{CPU="3",devices="",info="APIC ICR read retries",type="RTR"} 0 +node_interrupts_total{CPU="3",devices="",info="Function call interrupts",type="CAL"} 155528 +node_interrupts_total{CPU="3",devices="",info="IRQ work interrupts",type="IWI"} 2.428828e+06 +node_interrupts_total{CPU="3",devices="",info="Local timer interrupts",type="LOC"} 1.30980079e+08 +node_interrupts_total{CPU="3",devices="",info="Machine check exceptions",type="MCE"} 0 +node_interrupts_total{CPU="3",devices="",info="Machine check polls",type="MCP"} 2399 +node_interrupts_total{CPU="3",devices="",info="Non-maskable interrupts",type="NMI"} 4968 +node_interrupts_total{CPU="3",devices="",info="Performance monitoring interrupts",type="PMI"} 4968 +node_interrupts_total{CPU="3",devices="",info="Rescheduling interrupts",type="RES"} 7.45726e+06 +node_interrupts_total{CPU="3",devices="",info="Spurious interrupts",type="SPU"} 0 +node_interrupts_total{CPU="3",devices="",info="TLB shootdowns",type="TLB"} 1.0345022e+07 +node_interrupts_total{CPU="3",devices="",info="Thermal event interrupts",type="TRM"} 0 +node_interrupts_total{CPU="3",devices="",info="Threshold APIC interrupts",type="THR"} 0 +node_interrupts_total{CPU="3",devices="acpi",info="IR-IO-APIC-fasteoi",type="9"} 863 +node_interrupts_total{CPU="3",devices="ahci",info="IR-PCI-MSI-edge",type="43"} 7.492252e+06 +node_interrupts_total{CPU="3",devices="dmar0",info="DMAR_MSI-edge",type="40"} 0 +node_interrupts_total{CPU="3",devices="dmar1",info="DMAR_MSI-edge",type="41"} 0 +node_interrupts_total{CPU="3",devices="ehci_hcd:usb1, mmc0",info="IR-IO-APIC-fasteoi",type="16"} 351412 +node_interrupts_total{CPU="3",devices="ehci_hcd:usb2",info="IR-IO-APIC-fasteoi",type="23"} 2.644609e+06 +node_interrupts_total{CPU="3",devices="i8042",info="IR-IO-APIC-edge",type="1"} 28 +node_interrupts_total{CPU="3",devices="i8042",info="IR-IO-APIC-edge",type="12"} 198 +node_interrupts_total{CPU="3",devices="i915",info="IR-PCI-MSI-edge",type="44"} 633 +node_interrupts_total{CPU="3",devices="iwlwifi",info="IR-PCI-MSI-edge",type="46"} 290 +node_interrupts_total{CPU="3",devices="mei_me",info="IR-PCI-MSI-edge",type="45"} 0 +node_interrupts_total{CPU="3",devices="rtc0",info="IR-IO-APIC-edge",type="8"} 0 +node_interrupts_total{CPU="3",devices="snd_hda_intel",info="IR-PCI-MSI-edge",type="47"} 0 +node_interrupts_total{CPU="3",devices="timer",info="IR-IO-APIC-edge",type="0"} 0 +node_interrupts_total{CPU="3",devices="xhci_hcd",info="IR-PCI-MSI-edge",type="42"} 2.434308e+06 +# HELP node_intr_total Total number of interrupts serviced. +# TYPE node_intr_total counter +node_intr_total 8.885917e+06 # HELP node_ipvs_backend_connections_active The current active connections by local and remote address. # TYPE node_ipvs_backend_connections_active gauge node_ipvs_backend_connections_active{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.82.22",remote_port="3306"} 248 @@ -1160,48 +1130,48 @@ node_megacli_drive_count{enclosure="32",slot="3",type="Predictive Failure Count" node_megacli_drive_temperature_celsius{enclosure="32",slot="0"} 37 node_megacli_drive_temperature_celsius{enclosure="32",slot="2"} 39 node_megacli_drive_temperature_celsius{enclosure="32",slot="3"} 38 -# HELP node_memory_Active Memory information field Active. -# TYPE node_memory_Active gauge -node_memory_Active 2.287017984e+09 -# HELP node_memory_Active_anon Memory information field Active_anon. -# TYPE node_memory_Active_anon gauge -node_memory_Active_anon 2.068484096e+09 -# HELP node_memory_Active_file Memory information field Active_file. -# TYPE node_memory_Active_file gauge -node_memory_Active_file 2.18533888e+08 -# HELP node_memory_AnonHugePages Memory information field AnonHugePages. -# TYPE node_memory_AnonHugePages gauge -node_memory_AnonHugePages 0 -# HELP node_memory_AnonPages Memory information field AnonPages. -# TYPE node_memory_AnonPages gauge -node_memory_AnonPages 2.298032128e+09 -# HELP node_memory_Bounce Memory information field Bounce. -# TYPE node_memory_Bounce gauge -node_memory_Bounce 0 -# HELP node_memory_Buffers Memory information field Buffers. -# TYPE node_memory_Buffers gauge -node_memory_Buffers 2.256896e+07 -# HELP node_memory_Cached Memory information field Cached. -# TYPE node_memory_Cached gauge -node_memory_Cached 9.53229312e+08 -# HELP node_memory_CommitLimit Memory information field CommitLimit. -# TYPE node_memory_CommitLimit gauge -node_memory_CommitLimit 6.210940928e+09 -# HELP node_memory_Committed_AS Memory information field Committed_AS. -# TYPE node_memory_Committed_AS gauge -node_memory_Committed_AS 8.023486464e+09 -# HELP node_memory_DirectMap2M Memory information field DirectMap2M. -# TYPE node_memory_DirectMap2M gauge -node_memory_DirectMap2M 3.787456512e+09 -# HELP node_memory_DirectMap4k Memory information field DirectMap4k. -# TYPE node_memory_DirectMap4k gauge -node_memory_DirectMap4k 1.9011584e+08 -# HELP node_memory_Dirty Memory information field Dirty. -# TYPE node_memory_Dirty gauge -node_memory_Dirty 1.077248e+06 -# HELP node_memory_HardwareCorrupted Memory information field HardwareCorrupted. -# TYPE node_memory_HardwareCorrupted gauge -node_memory_HardwareCorrupted 0 +# HELP node_memory_Active_anon_bytes Memory information field Active_anon_bytes. +# TYPE node_memory_Active_anon_bytes gauge +node_memory_Active_anon_bytes 2.068484096e+09 +# HELP node_memory_Active_bytes Memory information field Active_bytes. +# TYPE node_memory_Active_bytes gauge +node_memory_Active_bytes 2.287017984e+09 +# HELP node_memory_Active_file_bytes Memory information field Active_file_bytes. +# TYPE node_memory_Active_file_bytes gauge +node_memory_Active_file_bytes 2.18533888e+08 +# HELP node_memory_AnonHugePages_bytes Memory information field AnonHugePages_bytes. +# TYPE node_memory_AnonHugePages_bytes gauge +node_memory_AnonHugePages_bytes 0 +# HELP node_memory_AnonPages_bytes Memory information field AnonPages_bytes. +# TYPE node_memory_AnonPages_bytes gauge +node_memory_AnonPages_bytes 2.298032128e+09 +# HELP node_memory_Bounce_bytes Memory information field Bounce_bytes. +# TYPE node_memory_Bounce_bytes gauge +node_memory_Bounce_bytes 0 +# HELP node_memory_Buffers_bytes Memory information field Buffers_bytes. +# TYPE node_memory_Buffers_bytes gauge +node_memory_Buffers_bytes 2.256896e+07 +# HELP node_memory_Cached_bytes Memory information field Cached_bytes. +# TYPE node_memory_Cached_bytes gauge +node_memory_Cached_bytes 9.53229312e+08 +# HELP node_memory_CommitLimit_bytes Memory information field CommitLimit_bytes. +# TYPE node_memory_CommitLimit_bytes gauge +node_memory_CommitLimit_bytes 6.210940928e+09 +# HELP node_memory_Committed_AS_bytes Memory information field Committed_AS_bytes. +# TYPE node_memory_Committed_AS_bytes gauge +node_memory_Committed_AS_bytes 8.023486464e+09 +# HELP node_memory_DirectMap2M_bytes Memory information field DirectMap2M_bytes. +# TYPE node_memory_DirectMap2M_bytes gauge +node_memory_DirectMap2M_bytes 3.787456512e+09 +# HELP node_memory_DirectMap4k_bytes Memory information field DirectMap4k_bytes. +# TYPE node_memory_DirectMap4k_bytes gauge +node_memory_DirectMap4k_bytes 1.9011584e+08 +# HELP node_memory_Dirty_bytes Memory information field Dirty_bytes. +# TYPE node_memory_Dirty_bytes gauge +node_memory_Dirty_bytes 1.077248e+06 +# HELP node_memory_HardwareCorrupted_bytes Memory information field HardwareCorrupted_bytes. +# TYPE node_memory_HardwareCorrupted_bytes gauge +node_memory_HardwareCorrupted_bytes 0 # HELP node_memory_HugePages_Free Memory information field HugePages_Free. # TYPE node_memory_HugePages_Free gauge node_memory_HugePages_Free 0 @@ -1214,78 +1184,78 @@ node_memory_HugePages_Surp 0 # HELP node_memory_HugePages_Total Memory information field HugePages_Total. # TYPE node_memory_HugePages_Total gauge node_memory_HugePages_Total 0 -# HELP node_memory_Hugepagesize Memory information field Hugepagesize. -# TYPE node_memory_Hugepagesize gauge -node_memory_Hugepagesize 2.097152e+06 -# HELP node_memory_Inactive Memory information field Inactive. -# TYPE node_memory_Inactive gauge -node_memory_Inactive 1.053417472e+09 -# HELP node_memory_Inactive_anon Memory information field Inactive_anon. -# TYPE node_memory_Inactive_anon gauge -node_memory_Inactive_anon 9.04245248e+08 -# HELP node_memory_Inactive_file Memory information field Inactive_file. -# TYPE node_memory_Inactive_file gauge -node_memory_Inactive_file 1.49172224e+08 -# HELP node_memory_KernelStack Memory information field KernelStack. -# TYPE node_memory_KernelStack gauge -node_memory_KernelStack 5.9392e+06 -# HELP node_memory_Mapped Memory information field Mapped. -# TYPE node_memory_Mapped gauge -node_memory_Mapped 2.4496128e+08 -# HELP node_memory_MemFree Memory information field MemFree. -# TYPE node_memory_MemFree gauge -node_memory_MemFree 2.30883328e+08 -# HELP node_memory_MemTotal Memory information field MemTotal. -# TYPE node_memory_MemTotal gauge -node_memory_MemTotal 3.831959552e+09 -# HELP node_memory_Mlocked Memory information field Mlocked. -# TYPE node_memory_Mlocked gauge -node_memory_Mlocked 32768 -# HELP node_memory_NFS_Unstable Memory information field NFS_Unstable. -# TYPE node_memory_NFS_Unstable gauge -node_memory_NFS_Unstable 0 -# HELP node_memory_PageTables Memory information field PageTables. -# TYPE node_memory_PageTables gauge -node_memory_PageTables 7.7017088e+07 -# HELP node_memory_SReclaimable Memory information field SReclaimable. -# TYPE node_memory_SReclaimable gauge -node_memory_SReclaimable 4.5846528e+07 -# HELP node_memory_SUnreclaim Memory information field SUnreclaim. -# TYPE node_memory_SUnreclaim gauge -node_memory_SUnreclaim 5.545984e+07 -# HELP node_memory_Shmem Memory information field Shmem. -# TYPE node_memory_Shmem gauge -node_memory_Shmem 6.0809216e+08 -# HELP node_memory_Slab Memory information field Slab. -# TYPE node_memory_Slab gauge -node_memory_Slab 1.01306368e+08 -# HELP node_memory_SwapCached Memory information field SwapCached. -# TYPE node_memory_SwapCached gauge -node_memory_SwapCached 1.97124096e+08 -# HELP node_memory_SwapFree Memory information field SwapFree. -# TYPE node_memory_SwapFree gauge -node_memory_SwapFree 3.23108864e+09 -# HELP node_memory_SwapTotal Memory information field SwapTotal. -# TYPE node_memory_SwapTotal gauge -node_memory_SwapTotal 4.2949632e+09 -# HELP node_memory_Unevictable Memory information field Unevictable. -# TYPE node_memory_Unevictable gauge -node_memory_Unevictable 32768 -# HELP node_memory_VmallocChunk Memory information field VmallocChunk. -# TYPE node_memory_VmallocChunk gauge -node_memory_VmallocChunk 3.5183963009024e+13 -# HELP node_memory_VmallocTotal Memory information field VmallocTotal. -# TYPE node_memory_VmallocTotal gauge -node_memory_VmallocTotal 3.5184372087808e+13 -# HELP node_memory_VmallocUsed Memory information field VmallocUsed. -# TYPE node_memory_VmallocUsed gauge -node_memory_VmallocUsed 3.6130816e+08 -# HELP node_memory_Writeback Memory information field Writeback. -# TYPE node_memory_Writeback gauge -node_memory_Writeback 0 -# HELP node_memory_WritebackTmp Memory information field WritebackTmp. -# TYPE node_memory_WritebackTmp gauge -node_memory_WritebackTmp 0 +# HELP node_memory_Hugepagesize_bytes Memory information field Hugepagesize_bytes. +# TYPE node_memory_Hugepagesize_bytes gauge +node_memory_Hugepagesize_bytes 2.097152e+06 +# HELP node_memory_Inactive_anon_bytes Memory information field Inactive_anon_bytes. +# TYPE node_memory_Inactive_anon_bytes gauge +node_memory_Inactive_anon_bytes 9.04245248e+08 +# HELP node_memory_Inactive_bytes Memory information field Inactive_bytes. +# TYPE node_memory_Inactive_bytes gauge +node_memory_Inactive_bytes 1.053417472e+09 +# HELP node_memory_Inactive_file_bytes Memory information field Inactive_file_bytes. +# TYPE node_memory_Inactive_file_bytes gauge +node_memory_Inactive_file_bytes 1.49172224e+08 +# HELP node_memory_KernelStack_bytes Memory information field KernelStack_bytes. +# TYPE node_memory_KernelStack_bytes gauge +node_memory_KernelStack_bytes 5.9392e+06 +# HELP node_memory_Mapped_bytes Memory information field Mapped_bytes. +# TYPE node_memory_Mapped_bytes gauge +node_memory_Mapped_bytes 2.4496128e+08 +# HELP node_memory_MemFree_bytes Memory information field MemFree_bytes. +# TYPE node_memory_MemFree_bytes gauge +node_memory_MemFree_bytes 2.30883328e+08 +# HELP node_memory_MemTotal_bytes Memory information field MemTotal_bytes. +# TYPE node_memory_MemTotal_bytes gauge +node_memory_MemTotal_bytes 3.831959552e+09 +# HELP node_memory_Mlocked_bytes Memory information field Mlocked_bytes. +# TYPE node_memory_Mlocked_bytes gauge +node_memory_Mlocked_bytes 32768 +# HELP node_memory_NFS_Unstable_bytes Memory information field NFS_Unstable_bytes. +# TYPE node_memory_NFS_Unstable_bytes gauge +node_memory_NFS_Unstable_bytes 0 +# HELP node_memory_PageTables_bytes Memory information field PageTables_bytes. +# TYPE node_memory_PageTables_bytes gauge +node_memory_PageTables_bytes 7.7017088e+07 +# HELP node_memory_SReclaimable_bytes Memory information field SReclaimable_bytes. +# TYPE node_memory_SReclaimable_bytes gauge +node_memory_SReclaimable_bytes 4.5846528e+07 +# HELP node_memory_SUnreclaim_bytes Memory information field SUnreclaim_bytes. +# TYPE node_memory_SUnreclaim_bytes gauge +node_memory_SUnreclaim_bytes 5.545984e+07 +# HELP node_memory_Shmem_bytes Memory information field Shmem_bytes. +# TYPE node_memory_Shmem_bytes gauge +node_memory_Shmem_bytes 6.0809216e+08 +# HELP node_memory_Slab_bytes Memory information field Slab_bytes. +# TYPE node_memory_Slab_bytes gauge +node_memory_Slab_bytes 1.01306368e+08 +# HELP node_memory_SwapCached_bytes Memory information field SwapCached_bytes. +# TYPE node_memory_SwapCached_bytes gauge +node_memory_SwapCached_bytes 1.97124096e+08 +# HELP node_memory_SwapFree_bytes Memory information field SwapFree_bytes. +# TYPE node_memory_SwapFree_bytes gauge +node_memory_SwapFree_bytes 3.23108864e+09 +# HELP node_memory_SwapTotal_bytes Memory information field SwapTotal_bytes. +# TYPE node_memory_SwapTotal_bytes gauge +node_memory_SwapTotal_bytes 4.2949632e+09 +# HELP node_memory_Unevictable_bytes Memory information field Unevictable_bytes. +# TYPE node_memory_Unevictable_bytes gauge +node_memory_Unevictable_bytes 32768 +# HELP node_memory_VmallocChunk_bytes Memory information field VmallocChunk_bytes. +# TYPE node_memory_VmallocChunk_bytes gauge +node_memory_VmallocChunk_bytes 3.5183963009024e+13 +# HELP node_memory_VmallocTotal_bytes Memory information field VmallocTotal_bytes. +# TYPE node_memory_VmallocTotal_bytes gauge +node_memory_VmallocTotal_bytes 3.5184372087808e+13 +# HELP node_memory_VmallocUsed_bytes Memory information field VmallocUsed_bytes. +# TYPE node_memory_VmallocUsed_bytes gauge +node_memory_VmallocUsed_bytes 3.6130816e+08 +# HELP node_memory_WritebackTmp_bytes Memory information field WritebackTmp_bytes. +# TYPE node_memory_WritebackTmp_bytes gauge +node_memory_WritebackTmp_bytes 0 +# HELP node_memory_Writeback_bytes Memory information field Writeback_bytes. +# TYPE node_memory_Writeback_bytes gauge +node_memory_Writeback_bytes 0 # HELP node_memory_numa_Active Memory information field Active. # TYPE node_memory_numa_Active gauge node_memory_numa_Active{node="0"} 5.58733312e+09 diff --git a/collector/infiniband_linux.go b/collector/infiniband_linux.go index de8ce195..7c219769 100644 --- a/collector/infiniband_linux.go +++ b/collector/infiniband_linux.go @@ -57,8 +57,8 @@ func NewInfiniBandCollector() (Collector, error) { "link_error_recovery_total": {"link_error_recovery", "Number of times the link successfully recovered from an error state"}, "multicast_packets_received_total": {"multicast_rcv_packets", "Number of multicast packets received (including errors)"}, "multicast_packets_transmitted_total": {"multicast_xmit_packets", "Number of multicast packets transmitted (including errors)"}, - "port_data_received_bytes": {"port_rcv_data", "Number of data octets received on all links"}, - "port_data_transmitted_bytes": {"port_xmit_data", "Number of data octets transmitted on all links"}, + "port_data_received_bytes_total": {"port_rcv_data", "Number of data octets received on all links"}, + "port_data_transmitted_bytes_total": {"port_xmit_data", "Number of data octets transmitted on all links"}, "unicast_packets_received_total": {"unicast_rcv_packets", "Number of unicast packets received (including errors)"}, "unicast_packets_transmitted_total": {"unicast_xmit_packets", "Number of unicast packets transmitted (including errors)"}, } diff --git a/collector/interrupts_common.go b/collector/interrupts_common.go index b1c5f27f..9e488299 100644 --- a/collector/interrupts_common.go +++ b/collector/interrupts_common.go @@ -30,7 +30,7 @@ func init() { func NewInterruptsCollector() (Collector, error) { return &interruptsCollector{ desc: typedDesc{prometheus.NewDesc( - namespace+"_interrupts", + namespace+"_interrupts_total", "Interrupt details.", interruptLabelNames, nil, ), prometheus.CounterValue}, diff --git a/collector/meminfo_linux.go b/collector/meminfo_linux.go index e17626dc..9aac018d 100644 --- a/collector/meminfo_linux.go +++ b/collector/meminfo_linux.go @@ -49,16 +49,17 @@ func parseMemInfo(r io.Reader) (map[string]float64, error) { if err != nil { return nil, fmt.Errorf("invalid value in meminfo: %s", err) } + key := parts[0][:len(parts[0])-1] // remove trailing : from key + // Active(anon) -> Active_anon + key = re.ReplaceAllString(key, "_${1}") switch len(parts) { case 2: // no unit case 3: // has unit, we presume kB fv *= 1024 + key = key + "_bytes" default: return nil, fmt.Errorf("invalid line in meminfo: %s", line) } - key := parts[0][:len(parts[0])-1] // remove trailing : from key - // Active(anon) -> Active_anon - key = re.ReplaceAllString(key, "_${1}") memInfo[key] = fv } diff --git a/collector/meminfo_linux_test.go b/collector/meminfo_linux_test.go index c42bdf03..dc0aff58 100644 --- a/collector/meminfo_linux_test.go +++ b/collector/meminfo_linux_test.go @@ -30,11 +30,11 @@ func TestMemInfo(t *testing.T) { t.Fatal(err) } - if want, got := 3831959552.0, memInfo["MemTotal"]; want != got { + if want, got := 3831959552.0, memInfo["MemTotal_bytes"]; want != got { t.Errorf("want memory total %f, got %f", want, got) } - if want, got := 3787456512.0, memInfo["DirectMap2M"]; want != got { + if want, got := 3787456512.0, memInfo["DirectMap2M_bytes"]; want != got { t.Errorf("want memory directMap2M %f, got %f", want, got) } } diff --git a/collector/meminfo_openbsd.go b/collector/meminfo_openbsd.go index 00edb163..93511ab9 100644 --- a/collector/meminfo_openbsd.go +++ b/collector/meminfo_openbsd.go @@ -47,19 +47,19 @@ func (c *meminfoCollector) getMemInfo() (map[string]float64, error) { return nil, fmt.Errorf("sysctl CTL_VM VM_UVMEXP failed: %v", err) } - ps := float64(uvmexp.pagesize) + ps := float64(uvmexp.pagesize) // see uvm(9) return map[string]float64{ - "active_bytes": ps * float64(uvmexp.active), - "cache_bytes": ps * float64(uvmexp.vnodepages), - "free_bytes": ps * float64(uvmexp.free), - "inactive_bytes": ps * float64(uvmexp.inactive), - "size_bytes": ps * float64(uvmexp.npages), - "swap_size_bytes": ps * float64(uvmexp.swpages), - "swap_used_bytes": ps * float64(uvmexp.swpgonly), - "swapped_in_pages_bytes_total": ps * float64(uvmexp.pgswapin), - "swapped_out_pages_bytes_total": ps * float64(uvmexp.pgswapout), - "wired_bytes": ps * float64(uvmexp.wired), + "active_bytes": ps * float64(uvmexp.active), + "cache_bytes": ps * float64(uvmexp.vnodepages), + "free_bytes": ps * float64(uvmexp.free), + "inactive_bytes": ps * float64(uvmexp.inactive), + "size_bytes": ps * float64(uvmexp.npages), + "swap_size_bytes": ps * float64(uvmexp.swpages), + "swap_used_bytes": ps * float64(uvmexp.swpgonly), + "swapped_in_pages_bytes_total": ps * float64(uvmexp.pgswapin), + "swapped_out_pages_bytes_total": ps * float64(uvmexp.pgswapout), + "wired_bytes": ps * float64(uvmexp.wired), }, nil } diff --git a/collector/stat_linux.go b/collector/stat_linux.go index 6a0e33f1..290205f5 100644 --- a/collector/stat_linux.go +++ b/collector/stat_linux.go @@ -24,7 +24,6 @@ import ( ) type statCollector struct { - cpu *prometheus.Desc intr *prometheus.Desc ctxt *prometheus.Desc forks *prometheus.Desc @@ -40,28 +39,23 @@ func init() { // NewStatCollector returns a new Collector exposing kernel/system statistics. func NewStatCollector() (Collector, error) { return &statCollector{ - cpu: prometheus.NewDesc( - prometheus.BuildFQName(namespace, "", "cpu"), - "Seconds the cpus spent in each mode.", - []string{"cpu", "mode"}, nil, - ), intr: prometheus.NewDesc( - prometheus.BuildFQName(namespace, "", "intr"), + prometheus.BuildFQName(namespace, "", "intr_total"), "Total number of interrupts serviced.", nil, nil, ), ctxt: prometheus.NewDesc( - prometheus.BuildFQName(namespace, "", "context_switches"), + prometheus.BuildFQName(namespace, "", "context_switches_total"), "Total number of context switches.", nil, nil, ), forks: prometheus.NewDesc( - prometheus.BuildFQName(namespace, "", "forks"), + prometheus.BuildFQName(namespace, "", "forks_total"), "Total number of forks.", nil, nil, ), btime: prometheus.NewDesc( - prometheus.BuildFQName(namespace, "", "boot_time"), + prometheus.BuildFQName(namespace, "", "boot_time_seconds"), "Node boot time, in unixtime.", nil, nil, ), diff --git a/collector/timex.go b/collector/timex.go index 1042b9e6..6309dff6 100644 --- a/collector/timex.go +++ b/collector/timex.go @@ -71,7 +71,7 @@ func NewTimexCollector() (Collector, error) { nil, nil, ), prometheus.GaugeValue}, freq: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "frequency_adjustment"), + prometheus.BuildFQName(namespace, subsystem, "frequency_adjustment_ratio"), "Local clock frequency adjustment.", nil, nil, ), prometheus.GaugeValue}, @@ -101,7 +101,7 @@ func NewTimexCollector() (Collector, error) { nil, nil, ), prometheus.GaugeValue}, ppsfreq: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "pps_frequency"), + prometheus.BuildFQName(namespace, subsystem, "pps_frequency_hertz"), "Pulse per second frequency.", nil, nil, ), prometheus.GaugeValue}, @@ -116,32 +116,32 @@ func NewTimexCollector() (Collector, error) { nil, nil, ), prometheus.GaugeValue}, stabil: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "pps_stability"), - "Pulse per second stability.", + prometheus.BuildFQName(namespace, subsystem, "pps_stability_hertz"), + "Pulse per second stability, average of recent frequency changes.", nil, nil, - ), prometheus.CounterValue}, + ), prometheus.GaugeValue}, jitcnt: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "pps_jitter_count"), + prometheus.BuildFQName(namespace, subsystem, "pps_jitter_total"), "Pulse per second count of jitter limit exceeded events.", nil, nil, ), prometheus.CounterValue}, calcnt: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "pps_calibration_count"), + prometheus.BuildFQName(namespace, subsystem, "pps_calibration_total"), "Pulse per second count of calibration intervals.", nil, nil, ), prometheus.CounterValue}, errcnt: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "pps_error_count"), + prometheus.BuildFQName(namespace, subsystem, "pps_error_total"), "Pulse per second count of calibration errors.", nil, nil, ), prometheus.CounterValue}, stbcnt: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "pps_stability_exceeded_count"), + prometheus.BuildFQName(namespace, subsystem, "pps_stability_exceeded_total"), "Pulse per second count of stability limit exceeded events.", nil, nil, - ), prometheus.GaugeValue}, + ), prometheus.CounterValue}, tai: typedDesc{prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, "tai_offset"), + prometheus.BuildFQName(namespace, subsystem, "tai_offset_seconds"), "International Atomic Time (TAI) offset.", nil, nil, ), prometheus.GaugeValue}, @@ -173,18 +173,21 @@ func (c *timexCollector) Update(ch chan<- prometheus.Metric) error { } else { divisor = microSeconds } + // See NOTES in adjtimex(2). + const ppm16frac = 1000000.0 * 65536.0 + ch <- c.syncStatus.mustNewConstMetric(syncStatus) ch <- c.offset.mustNewConstMetric(float64(timex.Offset) / divisor) - ch <- c.freq.mustNewConstMetric(float64(timex.Freq)) + ch <- c.freq.mustNewConstMetric(1 + float64(timex.Freq)/ppm16frac) ch <- c.maxerror.mustNewConstMetric(float64(timex.Maxerror) / microSeconds) ch <- c.esterror.mustNewConstMetric(float64(timex.Esterror) / microSeconds) ch <- c.status.mustNewConstMetric(float64(timex.Status)) ch <- c.constant.mustNewConstMetric(float64(timex.Constant)) ch <- c.tick.mustNewConstMetric(float64(timex.Tick) / microSeconds) - ch <- c.ppsfreq.mustNewConstMetric(float64(timex.Ppsfreq)) + ch <- c.ppsfreq.mustNewConstMetric(float64(timex.Ppsfreq) / ppm16frac) ch <- c.jitter.mustNewConstMetric(float64(timex.Jitter) / divisor) ch <- c.shift.mustNewConstMetric(float64(timex.Shift)) - ch <- c.stabil.mustNewConstMetric(float64(timex.Stabil)) + ch <- c.stabil.mustNewConstMetric(float64(timex.Stabil) / ppm16frac) ch <- c.jitcnt.mustNewConstMetric(float64(timex.Jitcnt)) ch <- c.calcnt.mustNewConstMetric(float64(timex.Calcnt)) ch <- c.errcnt.mustNewConstMetric(float64(timex.Errcnt))