aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfach <shaw38@gmail.com>2020-06-03 10:30:18 -0400
committerfach <shaw38@gmail.com>2020-06-04 12:13:07 -0400
commit0ea89787889788c0a8a809e9525c6e9c6ff7e377 (patch)
tree16f6e84fffbe883f58066df1fdeb55477cf35ded
parent02532771213fcb024608043d7b1e514c1a80c2da (diff)
downloadprometheus_node_collector-0ea89787889788c0a8a809e9525c6e9c6ff7e377.tar.bz2
prometheus_node_collector-0ea89787889788c0a8a809e9525c6e9c6ff7e377.tar.xz
prometheus_node_collector-0ea89787889788c0a8a809e9525c6e9c6ff7e377.zip
Adding backlog/current queue length to qdisc collector
Signed-off-by: fach <shaw38@gmail.com>
-rw-r--r--collector/qdisc_linux.go14
1 files changed, 14 insertions, 0 deletions
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