Skip to content

Commit d0e7eb1

Browse files
carlpettoblitorum
authored andcommitted
Switch to kingpin flags (prometheus#639)
* Switch to kingpin flags * Fix logrus vendoring * Fix flags in main tests * Fix vendoring versions
1 parent cf589ef commit d0e7eb1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+13589
-87
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,9 @@ docker run -d -p 9100:9100 \
157157
-v "/:/rootfs:ro" \
158158
--net="host" \
159159
quay.io/prometheus/node-exporter \
160-
-collector.procfs /host/proc \
161-
-collector.sysfs /host/sys \
162-
-collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
160+
--collector.procfs /host/proc \
161+
--collector.sysfs /host/sys \
162+
--collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
163163
```
164164

165165
Be aware though that the mountpoint label in various metrics will now have

collector/diskstats_linux.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ package collector
1717

1818
import (
1919
"bufio"
20-
"flag"
2120
"fmt"
2221
"io"
2322
"os"
@@ -27,6 +26,7 @@ import (
2726

2827
"github.com/prometheus/client_golang/prometheus"
2928
"github.com/prometheus/common/log"
29+
"gopkg.in/alecthomas/kingpin.v2"
3030
)
3131

3232
const (
@@ -35,7 +35,7 @@ const (
3535
)
3636

3737
var (
38-
ignoredDevices = flag.String("collector.diskstats.ignored-devices", "^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$", "Regexp of devices to ignore for diskstats.")
38+
ignoredDevices = kingpin.Flag("collector.diskstats.ignored-devices", "Regexp of devices to ignore for diskstats.").Default("^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$").String()
3939
)
4040

4141
type diskstatsCollector struct {

collector/filesystem_common.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
package collector
1818

1919
import (
20-
"flag"
2120
"regexp"
2221

2322
"github.com/prometheus/client_golang/prometheus"
23+
"gopkg.in/alecthomas/kingpin.v2"
2424
)
2525

2626
// Arch-dependent implementation must define:
@@ -30,15 +30,14 @@ import (
3030
// * filesystemCollector.GetStats
3131

3232
var (
33-
ignoredMountPoints = flag.String(
33+
ignoredMountPoints = kingpin.Flag(
3434
"collector.filesystem.ignored-mount-points",
35-
defIgnoredMountPoints,
36-
"Regexp of mount points to ignore for filesystem collector.")
37-
38-
ignoredFSTypes = flag.String(
35+
"Regexp of mount points to ignore for filesystem collector.",
36+
).Default(defIgnoredMountPoints).String()
37+
ignoredFSTypes = kingpin.Flag(
3938
"collector.filesystem.ignored-fs-types",
40-
defIgnoredFSTypes,
41-
"Regexp of filesystem types to ignore for filesystem collector.")
39+
"Regexp of filesystem types to ignore for filesystem collector.",
40+
).Default(defIgnoredFSTypes).String()
4241

4342
filesystemLabelNames = []string{"device", "mountpoint", "fstype"}
4443
)

collector/ipvs_linux_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
package collector
1515

1616
import (
17-
"flag"
1817
"fmt"
1918
"io/ioutil"
2019
"net/http"
@@ -24,10 +23,11 @@ import (
2423

2524
"github.com/prometheus/client_golang/prometheus"
2625
"github.com/prometheus/client_golang/prometheus/promhttp"
26+
"gopkg.in/alecthomas/kingpin.v2"
2727
)
2828

2929
func TestIPVSCollector(t *testing.T) {
30-
if err := flag.Set("collector.procfs", "fixtures/proc"); err != nil {
30+
if _, err := kingpin.CommandLine.Parse([]string{"--collector.procfs", "fixtures/proc"}); err != nil {
3131
t.Fatal(err)
3232
}
3333
collector, err := newIPVSCollector()
@@ -76,7 +76,7 @@ func (c miniCollector) Describe(ch chan<- *prometheus.Desc) {
7676
}
7777

7878
func TestIPVSCollectorResponse(t *testing.T) {
79-
if err := flag.Set("collector.procfs", "fixtures/proc"); err != nil {
79+
if _, err := kingpin.CommandLine.Parse([]string{"--collector.procfs", "fixtures/proc"}); err != nil {
8080
t.Fatal(err)
8181
}
8282
collector, err := NewIPVSCollector()

collector/megacli.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ package collector
1717

1818
import (
1919
"bufio"
20-
"flag"
2120
"io"
2221
"os/exec"
2322
"strconv"
2423
"strings"
2524

2625
"github.com/prometheus/client_golang/prometheus"
26+
"gopkg.in/alecthomas/kingpin.v2"
2727
)
2828

2929
const (
@@ -32,7 +32,7 @@ const (
3232
)
3333

3434
var (
35-
megacliCommand = flag.String("collector.megacli.command", defaultMegaCli, "Command to run megacli.")
35+
megacliCommand = kingpin.Flag("collector.megacli.command", "Command to run megacli.").Default(defaultMegaCli).String()
3636
)
3737

3838
type megaCliCollector struct {

collector/megacli_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
package collector
1717

1818
import (
19-
"flag"
2019
"os"
2120
"testing"
2221

2322
"github.com/prometheus/client_golang/prometheus"
23+
"gopkg.in/alecthomas/kingpin.v2"
2424
)
2525

2626
const (
@@ -74,7 +74,7 @@ func TestMegaCliDisks(t *testing.T) {
7474
}
7575

7676
func TestMegaCliCollectorDoesntCrash(t *testing.T) {
77-
if err := flag.Set("collector.megacli.command", "./fixtures/megacli"); err != nil {
77+
if _, err := kingpin.CommandLine.Parse([]string{"--collector.megacli.command", "./fixtures/megacli"}); err != nil {
7878
t.Fatal(err)
7979
}
8080
collector, err := NewMegaCliCollector()

collector/netdev_common.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,16 @@
1717
package collector
1818

1919
import (
20-
"flag"
2120
"fmt"
2221
"regexp"
2322
"strconv"
2423

2524
"github.com/prometheus/client_golang/prometheus"
25+
"gopkg.in/alecthomas/kingpin.v2"
2626
)
2727

2828
var (
29-
netdevIgnoredDevices = flag.String(
30-
"collector.netdev.ignored-devices", "^$",
31-
"Regexp of net devices to ignore for netdev collector.")
29+
netdevIgnoredDevices = kingpin.Flag("collector.netdev.ignored-devices", "Regexp of net devices to ignore for netdev collector.").Default("^$").String()
3230
)
3331

3432
type netDevCollector struct {

collector/ntp.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@
1616
package collector
1717

1818
import (
19-
"flag"
2019
"fmt"
2120

2221
"github.com/beevik/ntp"
2322
"github.com/prometheus/client_golang/prometheus"
2423
"github.com/prometheus/common/log"
24+
"gopkg.in/alecthomas/kingpin.v2"
2525
)
2626

2727
var (
28-
ntpServer = flag.String("collector.ntp.server", "", "NTP server to use for ntp collector.")
29-
ntpProtocolVersion = flag.Int("collector.ntp.protocol-version", 4, "NTP protocol version")
28+
ntpServer = kingpin.Flag("collector.ntp.server", "NTP server to use for ntp collector.").Default("").String()
29+
ntpProtocolVersion = kingpin.Flag("collector.ntp.protocol-version", "NTP protocol version").Default("4").Int()
3030
)
3131

3232
type ntpCollector struct {

collector/paths.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414
package collector
1515

1616
import (
17-
"flag"
1817
"path"
1918

2019
"github.com/prometheus/procfs"
20+
"gopkg.in/alecthomas/kingpin.v2"
2121
)
2222

2323
var (
2424
// The path of the proc filesystem.
25-
procPath = flag.String("collector.procfs", procfs.DefaultMountPoint, "procfs mountpoint.")
26-
sysPath = flag.String("collector.sysfs", "/sys", "sysfs mountpoint.")
25+
procPath = kingpin.Flag("collector.procfs", "procfs mountpoint.").Default(procfs.DefaultMountPoint).String()
26+
sysPath = kingpin.Flag("collector.sysfs", "sysfs mountpoint.").Default("/sys").String()
2727
)
2828

2929
func procFilePath(name string) string {

collector/paths_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
package collector
1515

1616
import (
17-
"flag"
1817
"testing"
1918

2019
"github.com/prometheus/procfs"
20+
"gopkg.in/alecthomas/kingpin.v2"
2121
)
2222

2323
func TestDefaultProcPath(t *testing.T) {
24-
if err := flag.Set("collector.procfs", procfs.DefaultMountPoint); err != nil {
24+
if _, err := kingpin.CommandLine.Parse([]string{"--collector.procfs", procfs.DefaultMountPoint}); err != nil {
2525
t.Fatal(err)
2626
}
2727

@@ -35,7 +35,7 @@ func TestDefaultProcPath(t *testing.T) {
3535
}
3636

3737
func TestCustomProcPath(t *testing.T) {
38-
if err := flag.Set("collector.procfs", "./../some/./place/"); err != nil {
38+
if _, err := kingpin.CommandLine.Parse([]string{"--collector.procfs", "./../some/./place/"}); err != nil {
3939
t.Fatal(err)
4040
}
4141

@@ -49,7 +49,7 @@ func TestCustomProcPath(t *testing.T) {
4949
}
5050

5151
func TestDefaultSysPath(t *testing.T) {
52-
if err := flag.Set("collector.sysfs", "/sys"); err != nil {
52+
if _, err := kingpin.CommandLine.Parse([]string{"--collector.sysfs", "/sys"}); err != nil {
5353
t.Fatal(err)
5454
}
5555

@@ -63,7 +63,7 @@ func TestDefaultSysPath(t *testing.T) {
6363
}
6464

6565
func TestCustomSysPath(t *testing.T) {
66-
if err := flag.Set("collector.sysfs", "./../some/./place/"); err != nil {
66+
if _, err := kingpin.CommandLine.Parse([]string{"--collector.sysfs", "./../some/./place/"}); err != nil {
6767
t.Fatal(err)
6868
}
6969

0 commit comments

Comments
 (0)