diff options
author | Noam Meltzer <tsnoam@gmail.com> | 2019-05-31 18:55:50 +0300 |
---|---|---|
committer | Ben Kochie <superq@gmail.com> | 2019-05-31 17:55:50 +0200 |
commit | 501ccf9fb4ccc8d8b42d8936b4d8846604f9ac97 (patch) | |
tree | 677d0201c83da29d3271d3c23a58861abcfed321 /collector/netdev_linux_test.go | |
parent | fc02b5dfbc32f12c8408e7baa2e65c6077089d85 (diff) | |
download | prometheus_node_collector-501ccf9fb4ccc8d8b42d8936b4d8846604f9ac97.tar.bz2 prometheus_node_collector-501ccf9fb4ccc8d8b42d8936b4d8846604f9ac97.tar.xz prometheus_node_collector-501ccf9fb4ccc8d8b42d8936b4d8846604f9ac97.zip |
Add --collector.netdev.device-whitelist flag (#1279)
* Add --collector.netdev.device-whitelist flag
Sometimes it is desired to monitor only one netdev. The golang regexp
does not support a negated regex, so the ignored-devices flag is too
cumbersome for this task.
This change introduces a new flag: accept-devices, which is mutually
exclusive to ignored-devices. This flag allows specifying ONLY the
netdev you'd like.
Signed-off-by: Noam Meltzer <noam@cynerio.co>
Diffstat (limited to 'collector/netdev_linux_test.go')
-rw-r--r-- | collector/netdev_linux_test.go | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/collector/netdev_linux_test.go b/collector/netdev_linux_test.go index 7228ae2..163c87f 100644 --- a/collector/netdev_linux_test.go +++ b/collector/netdev_linux_test.go | |||
@@ -19,14 +19,14 @@ import ( | |||
19 | "testing" | 19 | "testing" |
20 | ) | 20 | ) |
21 | 21 | ||
22 | func TestNetDevStats(t *testing.T) { | 22 | func TestNetDevStatsIgnore(t *testing.T) { |
23 | file, err := os.Open("fixtures/proc/net/dev") | 23 | file, err := os.Open("fixtures/proc/net/dev") |
24 | if err != nil { | 24 | if err != nil { |
25 | t.Fatal(err) | 25 | t.Fatal(err) |
26 | } | 26 | } |
27 | defer file.Close() | 27 | defer file.Close() |
28 | 28 | ||
29 | netStats, err := parseNetDevStats(file, regexp.MustCompile("^veth")) | 29 | netStats, err := parseNetDevStats(file, regexp.MustCompile("^veth"), nil) |
30 | if err != nil { | 30 | if err != nil { |
31 | t.Fatal(err) | 31 | t.Fatal(err) |
32 | } | 32 | } |
@@ -59,3 +59,23 @@ func TestNetDevStats(t *testing.T) { | |||
59 | t.Error("want fixture interface 💩0 to exist, but it does not") | 59 | t.Error("want fixture interface 💩0 to exist, but it does not") |
60 | } | 60 | } |
61 | } | 61 | } |
62 | |||
63 | func TestNetDevStatsAccept(t *testing.T) { | ||
64 | file, err := os.Open("fixtures/proc/net/dev") | ||
65 | if err != nil { | ||
66 | t.Fatal(err) | ||
67 | } | ||
68 | defer file.Close() | ||
69 | |||
70 | netStats, err := parseNetDevStats(file, nil, regexp.MustCompile("^💩0$")) | ||
71 | if err != nil { | ||
72 | t.Fatal(err) | ||
73 | } | ||
74 | |||
75 | if want, got := 1, len(netStats); want != got { | ||
76 | t.Errorf("want count of devices to be %d, got %d", want, got) | ||
77 | } | ||
78 | if want, got := "72", netStats["💩0"]["receive_multicast"]; want != got { | ||
79 | t.Error("want fixture interface 💩0 to exist, but it does not") | ||
80 | } | ||
81 | } | ||