diff options
author | Ben Kochie <superq@gmail.com> | 2020-06-22 20:15:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-22 20:15:04 +0200 |
commit | 5d42d4d99fc3774591aa0a03a36a1ab15f72bd3b (patch) | |
tree | 9078340f33827e44ce58fdebbd77c3cac414a32b /collector | |
parent | 08ce3c6dd430deb51798826701a395e460620d60 (diff) | |
parent | 79ef305a191e6b762ed4667b5fd7e6d3ce0ed8f3 (diff) | |
download | prometheus_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.txt | 8 | ||||
-rw-r--r-- | collector/fixtures/e2e-output.txt | 8 | ||||
-rw-r--r-- | collector/qdisc_linux.go | 14 |
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 |
2499 | node_procs_running 2 | 2499 | node_procs_running 2 |
2500 | # HELP node_qdisc_backlog Number of bytes currently in queue to be sent. | ||
2501 | # TYPE node_qdisc_backlog gauge | ||
2502 | node_qdisc_backlog{device="eth0",kind="pfifo_fast"} 0 | ||
2503 | node_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 |
2502 | node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83 | 2506 | node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83 |
2503 | node_qdisc_bytes_total{device="wlan0",kind="fq"} 42 | 2507 | node_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 | ||
2510 | node_qdisc_current_queue_length{device="eth0",kind="pfifo_fast"} 0 | ||
2511 | node_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 |
2506 | node_qdisc_drops_total{device="eth0",kind="pfifo_fast"} 0 | 2514 | node_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 |
2568 | node_procs_running 2 | 2568 | node_procs_running 2 |
2569 | # HELP node_qdisc_backlog Number of bytes currently in queue to be sent. | ||
2570 | # TYPE node_qdisc_backlog gauge | ||
2571 | node_qdisc_backlog{device="eth0",kind="pfifo_fast"} 0 | ||
2572 | node_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 |
2571 | node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83 | 2575 | node_qdisc_bytes_total{device="eth0",kind="pfifo_fast"} 83 |
2572 | node_qdisc_bytes_total{device="wlan0",kind="fq"} 42 | 2576 | node_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 | ||
2579 | node_qdisc_current_queue_length{device="eth0",kind="pfifo_fast"} 0 | ||
2580 | node_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 |
2575 | node_qdisc_drops_total{device="eth0",kind="pfifo_fast"} 0 | 2583 | node_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 |