Skip to content

Commit 90ee059

Browse files
committed
feat: expose max bcast/mcast queue len as metric
1 parent 6d9e56a commit 90ee059

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

pkg/collector/openvpn.go

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ import (
99

1010
// OpenVPNCollector collects metrics from openvpn status files
1111
type OpenVPNCollector struct {
12-
logger log.Logger
13-
name string
14-
statusFile string
15-
LastUpdated *prometheus.Desc
16-
ConnectedClients *prometheus.Desc
17-
BytesReceived *prometheus.Desc
18-
BytesSent *prometheus.Desc
19-
ConnectedSince *prometheus.Desc
12+
logger log.Logger
13+
name string
14+
statusFile string
15+
LastUpdated *prometheus.Desc
16+
ConnectedClients *prometheus.Desc
17+
BytesReceived *prometheus.Desc
18+
BytesSent *prometheus.Desc
19+
ConnectedSince *prometheus.Desc
20+
MaxBcastMcastQueueLen *prometheus.Desc
2021
}
2122

2223
// NewOpenVPNCollector returns a new OpenVPNCollector
@@ -38,6 +39,12 @@ func NewOpenVPNCollector(logger log.Logger, name string, statusFile string) *Ope
3839
[]string{"server"},
3940
nil,
4041
),
42+
MaxBcastMcastQueueLen: prometheus.NewDesc(
43+
prometheus.BuildFQName(namespace, "", "max_bcast_mcast_queue_len"),
44+
"MaxBcastMcastQueueLen of the server",
45+
[]string{"server"},
46+
nil,
47+
),
4148
BytesReceived: prometheus.NewDesc(
4249
prometheus.BuildFQName(namespace, "", "bytes_received"),
4350
"Amount of data received via the connection",
@@ -66,6 +73,7 @@ func (c *OpenVPNCollector) Describe(ch chan<- *prometheus.Desc) {
6673
ch <- c.BytesSent
6774
ch <- c.BytesReceived
6875
ch <- c.ConnectedSince
76+
ch <- c.MaxBcastMcastQueueLen
6977
}
7078

7179
// Collect is called by the Prometheus registry when collecting metrics.
@@ -128,4 +136,10 @@ func (c *OpenVPNCollector) Collect(ch chan<- prometheus.Metric) {
128136
float64(status.UpdatedAt.Unix()),
129137
c.name,
130138
)
139+
ch <- prometheus.MustNewConstMetric(
140+
c.MaxBcastMcastQueueLen,
141+
prometheus.GaugeValue,
142+
float64(status.GlobalStats.MaxBcastMcastQueueLen),
143+
c.name,
144+
)
131145
}

0 commit comments

Comments
 (0)