diff --git a/CHANGELOG.md b/CHANGELOG.md index 62afc1a23..abbb1f44a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - [#1330](https://github.com/influxdata/telegraf/issues/1330): Fix exec plugin panic when using single binary. - [#1336](https://github.com/influxdata/telegraf/issues/1336): Fixed incorrect prometheus metrics source selection. - [#1112](https://github.com/influxdata/telegraf/issues/1112): Set default Zookeeper chroot to empty string. +- [#1335](https://github.com/influxdata/telegraf/issues/1335): Fix overall ping timeout to be calculated based on per-ping timeout. ## v1.0 beta 1 [2016-06-07] diff --git a/etc/telegraf.conf b/etc/telegraf.conf index 2325582f2..251925589 100644 --- a/etc/telegraf.conf +++ b/etc/telegraf.conf @@ -1138,7 +1138,7 @@ # count = 1 # required # ## interval, in s, at which to ping. 0 == default (ping -i ) # ping_interval = 0.0 -# ## ping timeout, in s. 0 == no timeout (ping -W ) +# ## per-ping timeout, in s. 0 == no timeout (ping -W ) # timeout = 1.0 # ## interface to send ping from (ping -I ) # interface = "" diff --git a/plugins/inputs/ping/ping.go b/plugins/inputs/ping/ping.go index cf148e1f6..e29a28c56 100644 --- a/plugins/inputs/ping/ping.go +++ b/plugins/inputs/ping/ping.go @@ -28,7 +28,7 @@ type Ping struct { // Number of pings to send (ping -c ) Count int - // Ping timeout, in seconds. 0 means no timeout (ping -t ) + // Ping timeout, in seconds. 0 means no timeout (ping -W ) Timeout float64 // Interface to send ping from (ping -I ) @@ -55,7 +55,7 @@ const sampleConfig = ` count = 1 # required ## interval, in s, at which to ping. 0 == default (ping -i ) ping_interval = 0.0 - ## ping timeout, in s. 0 == no timeout (ping -W ) + ## per-ping timeout, in s. 0 == no timeout (ping -W ) timeout = 1.0 ## interface to send ping from (ping -I ) interface = "" @@ -139,8 +139,8 @@ func (p *Ping) args(url string) []string { } if p.Timeout > 0 { switch runtime.GOOS { - case "darwin", "freebsd": - args = append(args, "-t", strconv.FormatFloat(p.Timeout, 'f', 1, 64)) + case "darwin": + args = append(args, "-W", strconv.FormatFloat(p.Timeout/1000, 'f', 1, 64)) case "linux": args = append(args, "-W", strconv.FormatFloat(p.Timeout, 'f', 1, 64)) default: