aboutsummaryrefslogtreecommitdiff
path: root/collector
diff options
context:
space:
mode:
authorBen Kochie <superq@gmail.com>2019-10-23 13:34:18 +0200
committerGitHub <noreply@github.com>2019-10-23 13:34:18 +0200
commit74a90e81c03a81761c5fae1731d0a004edab82d1 (patch)
tree4ad68660939ebf8843fd8da838876c5e40f51bda /collector
parent9f49fff79ef85fcebb69289622150e6d5346528b (diff)
parentc9603c6ea2f1fd07ab662f9ca5d2b5676357207f (diff)
downloadprometheus_node_collector-74a90e81c03a81761c5fae1731d0a004edab82d1.tar.bz2
prometheus_node_collector-74a90e81c03a81761c5fae1731d0a004edab82d1.tar.xz
prometheus_node_collector-74a90e81c03a81761c5fae1731d0a004edab82d1.zip
Merge pull request #1486 from mknapphrt/mount_timeout
Add a flag to adjust mount timeout
Diffstat (limited to 'collector')
-rw-r--r--collector/filesystem_linux.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/collector/filesystem_linux.go b/collector/filesystem_linux.go
index 5ba4fe1..98e51b8 100644
--- a/collector/filesystem_linux.go
+++ b/collector/filesystem_linux.go
@@ -26,14 +26,17 @@ import (
26 26
27 "github.com/prometheus/common/log" 27 "github.com/prometheus/common/log"
28 "golang.org/x/sys/unix" 28 "golang.org/x/sys/unix"
29 kingpin "gopkg.in/alecthomas/kingpin.v2"
29) 30)
30 31
31const ( 32const (
32 defIgnoredMountPoints = "^/(dev|proc|sys|var/lib/docker/.+)($|/)" 33 defIgnoredMountPoints = "^/(dev|proc|sys|var/lib/docker/.+)($|/)"
33 defIgnoredFSTypes = "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$" 34 defIgnoredFSTypes = "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
34 mountTimeout = 30 * time.Second
35) 35)
36 36
37var mountTimeout = kingpin.Flag("collector.filesystem.mount-timeout",
38 "how long to wait for a mount to respond before marking it as stale").
39 Hidden().Default("5s").Duration()
37var stuckMounts = make(map[string]struct{}) 40var stuckMounts = make(map[string]struct{})
38var stuckMountsMtx = &sync.Mutex{} 41var stuckMountsMtx = &sync.Mutex{}
39 42
@@ -118,7 +121,7 @@ func stuckMountWatcher(mountPoint string, success chan struct{}) {
118 select { 121 select {
119 case <-success: 122 case <-success:
120 // Success 123 // Success
121 case <-time.After(mountTimeout): 124 case <-time.After(*mountTimeout):
122 // Timed out, mark mount as stuck 125 // Timed out, mark mount as stuck
123 stuckMountsMtx.Lock() 126 stuckMountsMtx.Lock()
124 select { 127 select {