diff options
author | Ben Kochie <superq@gmail.com> | 2019-10-23 13:34:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-23 13:34:18 +0200 |
commit | 74a90e81c03a81761c5fae1731d0a004edab82d1 (patch) | |
tree | 4ad68660939ebf8843fd8da838876c5e40f51bda /collector | |
parent | 9f49fff79ef85fcebb69289622150e6d5346528b (diff) | |
parent | c9603c6ea2f1fd07ab662f9ca5d2b5676357207f (diff) | |
download | prometheus_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.go | 7 |
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 | ||
31 | const ( | 32 | const ( |
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 | ||
37 | var 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() | ||
37 | var stuckMounts = make(map[string]struct{}) | 40 | var stuckMounts = make(map[string]struct{}) |
38 | var stuckMountsMtx = &sync.Mutex{} | 41 | var 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 { |