@@ -7,9 +7,11 @@ import (
77 "os"
88 "sort"
99 "strings"
10+ "time"
1011
1112 "github.com/amir/raidman"
1213 "github.com/influxdata/telegraf"
14+ "github.com/influxdata/telegraf/internal"
1315 "github.com/influxdata/telegraf/plugins/outputs"
1416)
1517
@@ -22,6 +24,7 @@ type Riemann struct {
2224 TagKeys []string
2325 Tags []string
2426 DescriptionText string
27+ Timeout internal.Duration
2528
2629 client * raidman.Client
2730}
@@ -54,6 +57,9 @@ var sampleConfig = `
5457
5558 ## Description for Riemann event
5659 # description_text = "metrics collected from telegraf"
60+
61+ ## Riemann client write timeout, defaults to "5s" if not set.
62+ # timeout = "5s"
5763`
5864
5965func (r * Riemann ) Connect () error {
@@ -62,7 +68,7 @@ func (r *Riemann) Connect() error {
6268 return err
6369 }
6470
65- client , err := raidman .Dial (parsed_url .Scheme , parsed_url .Host )
71+ client , err := raidman .DialWithTimeout (parsed_url .Scheme , parsed_url .Host , r . Timeout . Duration )
6672 if err != nil {
6773 r .client = nil
6874 return err
@@ -212,6 +218,8 @@ func (r *Riemann) tags(tags map[string]string) []string {
212218
213219func init () {
214220 outputs .Add ("riemann" , func () telegraf.Output {
215- return & Riemann {}
221+ return & Riemann {
222+ Timeout : internal.Duration {Duration : time .Second * 5 },
223+ }
216224 })
217225}
0 commit comments