Skip to content

Commit 8b87a2e

Browse files
committed
Fix diskstats exclude flags (#2487)
Correctly handle the new `collector.diskstats.device-exclude` flag to avoid errors when using the old `collector.diskstats.ignored-devices` flag. Fixes: #2486 Signed-off-by: Ben Kochie <[email protected]>
1 parent 7da1321 commit 8b87a2e

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

collector/diskstats_common.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,20 @@ const (
3333
var (
3434
diskLabelNames = []string{"device"}
3535

36-
diskstatsDeviceExclude = kingpin.Flag("collector.diskstats.device-exclude", "Regexp of diskstats devices to exclude (mutually exclusive to device-include).").Default(diskstatsDefaultIgnoredDevices).String()
37-
oldDiskstatsDeviceExclude = kingpin.Flag("collector.diskstats.ignored-devices", "DEPRECATED: Use collector.diskstats.device-exclude").String()
38-
diskstatsDeviceInclude = kingpin.Flag("collector.diskstats.device-include", "Regexp of diskstats devices to include (mutually exclusive to device-exclude).").String()
36+
diskstatsDeviceExcludeSet bool
37+
diskstatsDeviceExclude = kingpin.Flag(
38+
"collector.diskstats.device-exclude",
39+
"Regexp of diskstats devices to exclude (mutually exclusive to device-include).",
40+
).Default(diskstatsDefaultIgnoredDevices).PreAction(func(c *kingpin.ParseContext) error {
41+
diskstatsDeviceExcludeSet = true
42+
return nil
43+
}).String()
44+
oldDiskstatsDeviceExclude = kingpin.Flag(
45+
"collector.diskstats.ignored-devices",
46+
"DEPRECATED: Use collector.diskstats.device-exclude",
47+
).Hidden().String()
48+
49+
diskstatsDeviceInclude = kingpin.Flag("collector.diskstats.device-include", "Regexp of diskstats devices to include (mutually exclusive to device-exclude).").String()
3950

4051
readsCompletedDesc = prometheus.NewDesc(
4152
prometheus.BuildFQName(namespace, diskSubsystem, "reads_completed_total"),
@@ -84,7 +95,7 @@ var (
8495

8596
func newDiskstatsDeviceFilter(logger log.Logger) (deviceFilter, error) {
8697
if *oldDiskstatsDeviceExclude != "" {
87-
if *diskstatsDeviceExclude == "" {
98+
if !diskstatsDeviceExcludeSet {
8899
level.Warn(logger).Log("msg", "--collector.diskstats.ignored-devices is DEPRECATED and will be removed in 2.0.0, use --collector.diskstats.device-exclude")
89100
*diskstatsDeviceExclude = *oldDiskstatsDeviceExclude
90101
} else {

0 commit comments

Comments
 (0)