diff options
-rw-r--r-- | collector/qdisc_linux.go | 14 |
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 |