aboutsummaryrefslogtreecommitdiff
path: root/collector
diff options
context:
space:
mode:
authorBen Kochie <superq@gmail.com>2020-06-22 20:15:04 +0200
committerGitHub <noreply@github.com>2020-06-22 20:15:04 +0200
commit5d42d4d99fc3774591aa0a03a36a1ab15f72bd3b (patch)
tree9078340f33827e44ce58fdebbd77c3cac414a32b /collector
parent08ce3c6dd430deb51798826701a395e460620d60 (diff)
parent79ef305a191e6b762ed4667b5fd7e6d3ce0ed8f3 (diff)
downloadprometheus_node_collector-5d42d4d99fc3774591aa0a03a36a1ab15f72bd3b.tar.bz2
prometheus_node_collector-5d42d4d99fc3774591aa0a03a36a1ab15f72bd3b.tar.xz
prometheus_node_collector-5d42d4d99fc3774591aa0a03a36a1ab15f72bd3b.zip
Merge pull request #1732 from fach/master
Adding backlog/current queue length to qdisc collector
Diffstat (limited to 'collector')
-rw-r--r--collector/fixtures/e2e-64k-page-output.txt8
-rw-r--r--collector/fixtures/e2e-output.txt8
-rw-r--r--collector/qdisc_linux.go14
3 files changed, 30 insertions, 0 deletions
diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt
index fe32915..7b857ff 100644
--- a/collector/fixtures/e2e-64k-page-output.txt
+++ b/collector/fixtures/e2e-64k-page-output.txt
@@ -2497,10 +2497,18 @@ node_procs_blocked 0
2497# HELP node_procs_running Number of processes in runnable state. 2497# HELP node_procs_running Number of processes in runnable state.
2498# TYPE node_procs_running gauge 2498# TYPE node_procs_running gauge
2499node_procs_running 2 2499node_procs_running 2
2500# HELP node_qdisc_backlog Number of bytes currently in queue to be sent.
2501# TYPE node_qdisc_backlog gauge
2502node_qdisc_backlog{device="eth0",kind="pfifo_fast"} 0
2503node_qdisc_backlog{device="wlan0",kind="fq"} 0
2500# HELP node_qdisc_bytes_total Number of bytes sent. 2504# HELP node_qdisc_bytes_total Number of bytes sent.
2501# TYPE node_qdisc_bytes_total counter 2505# TYPE node_qdisc_bytes_total counter
2502node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83 2506node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83
2503node_qdisc_bytes_total{device="wlan0",kind="fq"} 42 2507node_qdisc_bytes_total{device="wlan0",kind="fq"} 42
2508# HELP node_qdisc_current_queue_length Number of packets currently in queue to be sent.
2509# TYPE node_qdisc_current_queue_length gauge
2510node_qdisc_current_queue_length{device="eth0",kind="pfifo_fast"} 0
2511node_qdisc_current_queue_length{device="wlan0",kind="fq"} 0
2504# HELP node_qdisc_drops_total Number of packets dropped. 2512# HELP node_qdisc_drops_total Number of packets dropped.
2505# TYPE node_qdisc_drops_total counter 2513# TYPE node_qdisc_drops_total counter
2506node_qdisc_drops_total{device="eth0",kind="pfifo_fast"} 0 2514node_qdisc_drops_total{device="eth0",kind="pfifo_fast"} 0
diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt
index 0edc65b..e8a5779 100644
--- a/collector/fixtures/e2e-output.txt
+++ b/collector/fixtures/e2e-output.txt
@@ -2566,10 +2566,18 @@ node_procs_blocked 0
2566# HELP node_procs_running Number of processes in runnable state. 2566# HELP node_procs_running Number of processes in runnable state.
2567# TYPE node_procs_running gauge 2567# TYPE node_procs_running gauge
2568node_procs_running 2 2568node_procs_running 2
2569# HELP node_qdisc_backlog Number of bytes currently in queue to be sent.
2570# TYPE node_qdisc_backlog gauge
2571node_qdisc_backlog{device="eth0",kind="pfifo_fast"} 0
2572node_qdisc_backlog{device="wlan0",kind="fq"} 0
2569# HELP node_qdisc_bytes_total Number of bytes sent. 2573# HELP node_qdisc_bytes_total Number of bytes sent.
2570# TYPE node_qdisc_bytes_total counter 2574# TYPE node_qdisc_bytes_total counter
2571node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83 2575node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83
2572node_qdisc_bytes_total{device="wlan0",kind="fq"} 42 2576node_qdisc_bytes_total{device="wlan0",kind="fq"} 42
2577# HELP node_qdisc_current_queue_length Number of packets currently in queue to be sent.
2578# TYPE node_qdisc_current_queue_length gauge
2579node_qdisc_current_queue_length{device="eth0",kind="pfifo_fast"} 0
2580node_qdisc_current_queue_length{device="wlan0",kind="fq"} 0
2573# HELP node_qdisc_drops_total Number of packets dropped. 2581# HELP node_qdisc_drops_total Number of packets dropped.
2574# TYPE node_qdisc_drops_total counter 2582# TYPE node_qdisc_drops_total counter
2575node_qdisc_drops_total{device="eth0",kind="pfifo_fast"} 0 2583node_qdisc_drops_total{device="eth0",kind="pfifo_fast"} 0
diff --git a/collector/qdisc_linux.go b/collector/qdisc_linux.go
index daba199..ba462a0 100644
--- a/collector/qdisc_linux.go
+++ b/collector/qdisc_linux.go
@@ -32,6 +32,8 @@ type qdiscStatCollector struct {
32 drops typedDesc 32 drops typedDesc
33 requeues typedDesc 33 requeues typedDesc
34 overlimits typedDesc 34 overlimits typedDesc
35 qlength typedDesc
36 backlog typedDesc
35 logger log.Logger 37 logger log.Logger
36} 38}
37 39
@@ -71,6 +73,16 @@ func NewQdiscStatCollector(logger log.Logger) (Collector, error) {
71 "Number of overlimit packets.", 73 "Number of overlimit packets.",
72 []string{"device", "kind"}, nil, 74 []string{"device", "kind"}, nil,
73 ), prometheus.CounterValue}, 75 ), prometheus.CounterValue},
76 qlength: typedDesc{prometheus.NewDesc(
77 prometheus.BuildFQName(namespace, "qdisc", "current_queue_length"),
78 "Number of packets currently in queue to be sent.",
79 []string{"device", "kind"}, nil,
80 ), prometheus.GaugeValue},
81 backlog: typedDesc{prometheus.NewDesc(
82 prometheus.BuildFQName(namespace, "qdisc", "backlog"),
83 "Number of bytes currently in queue to be sent.",
84 []string{"device", "kind"}, nil,
85 ), prometheus.GaugeValue},
74 logger: logger, 86 logger: logger,
75 }, nil 87 }, nil
76} 88}
@@ -114,6 +126,8 @@ func (c *qdiscStatCollector) Update(ch chan<- prometheus.Metric) error {
114 ch <- c.drops.mustNewConstMetric(float64(msg.Drops), msg.IfaceName, msg.Kind) 126 ch <- c.drops.mustNewConstMetric(float64(msg.Drops), msg.IfaceName, msg.Kind)
115 ch <- c.requeues.mustNewConstMetric(float64(msg.Requeues), msg.IfaceName, msg.Kind) 127 ch <- c.requeues.mustNewConstMetric(float64(msg.Requeues), msg.IfaceName, msg.Kind)
116 ch <- c.overlimits.mustNewConstMetric(float64(msg.Overlimits), msg.IfaceName, msg.Kind) 128 ch <- c.overlimits.mustNewConstMetric(float64(msg.Overlimits), msg.IfaceName, msg.Kind)
129 ch <- c.qlength.mustNewConstMetric(float64(msg.Qlen), msg.IfaceName, msg.Kind)
130 ch <- c.backlog.mustNewConstMetric(float64(msg.Backlog), msg.IfaceName, msg.Kind)
117 } 131 }
118 132
119 return nil 133 return nil