InfluxDB output should not default to 'no timeout' for http writes

default to 5s instead, since even if it times out we will cache the
points and move on

closes #685
This commit is contained in:
Cameron Sparr 2016-02-19 14:46:03 -07:00
parent f9b5767dae
commit 584a52ac21
3 changed files with 14 additions and 9 deletions

View File

@ -92,14 +92,17 @@ docker-kill:
-docker rm nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka mqtt riemann snmp -docker rm nsq aerospike redis opentsdb rabbitmq postgres memcached mysql kafka mqtt riemann snmp
# Run full unit tests using docker containers (includes setup and teardown) # Run full unit tests using docker containers (includes setup and teardown)
test: docker-kill docker-run test: vet docker-kill docker-run
# Sleeping for kafka leadership election, TSDB setup, etc. # Sleeping for kafka leadership election, TSDB setup, etc.
sleep 60 sleep 60
# SUCCESS, running tests # SUCCESS, running tests
go test -race ./... go test -race ./...
# Run "short" unit tests # Run "short" unit tests
test-short: test-short: vet
go test -short ./... go test -short ./...
vet:
go vet ./...
.PHONY: test .PHONY: test

View File

@ -67,9 +67,9 @@
# note: using second precision greatly helps InfluxDB compression # note: using second precision greatly helps InfluxDB compression
precision = "s" precision = "s"
# Connection timeout (for the connection with InfluxDB), formatted as a string. ## Write timeout (for the InfluxDB client), formatted as a string.
# If not provided, will default to 0 (no timeout) ## If not provided, will default to 5s. 0s means no timeout (not recommended).
# timeout = "5s" timeout = "5s"
# username = "telegraf" # username = "telegraf"
# password = "metricsmetricsmetricsmetrics" # password = "metricsmetricsmetricsmetrics"
# Set the user agent for HTTP POSTs (can be useful for log differentiation) # Set the user agent for HTTP POSTs (can be useful for log differentiation)

View File

@ -52,9 +52,9 @@ var sampleConfig = `
## note: using "s" precision greatly improves InfluxDB compression ## note: using "s" precision greatly improves InfluxDB compression
precision = "s" precision = "s"
## Connection timeout (for the connection with InfluxDB), formatted as a string. ## Write timeout (for the InfluxDB client), formatted as a string.
## If not provided, will default to 0 (no timeout) ## If not provided, will default to 5s. 0s means no timeout (not recommended).
# timeout = "5s" timeout = "5s"
# username = "telegraf" # username = "telegraf"
# password = "metricsmetricsmetricsmetrics" # password = "metricsmetricsmetricsmetrics"
## Set the user agent for HTTP POSTs (can be useful for log differentiation) ## Set the user agent for HTTP POSTs (can be useful for log differentiation)
@ -185,6 +185,8 @@ func (i *InfluxDB) Write(metrics []telegraf.Metric) error {
func init() { func init() {
outputs.Add("influxdb", func() telegraf.Output { outputs.Add("influxdb", func() telegraf.Output {
return &InfluxDB{} return &InfluxDB{
Timeout: internal.Duration{Duration: time.Second * 5},
}
}) })
} }