Add url tag only if not already set

This commit is contained in:
Daniel Nelson 2018-02-15 18:24:09 -08:00
parent 027ff4e2dd
commit 0851de714d
3 changed files with 2 additions and 9 deletions

View File

@ -20,9 +20,6 @@ The HTTP input plugin collects metrics from one or more HTTP(S) endpoints. The
# username = "username"
# password = "pa$$word"
## Tag all metrics with the url
# tag_url = true
## Optional SSL Config
# ssl_ca = "/etc/telegraf/ca.pem"
# ssl_cert = "/etc/telegraf/cert.pem"

View File

@ -24,9 +24,6 @@ type HTTP struct {
Username string
Password string
// Option to add "url" tag to each metric
TagURL bool `toml:"tag_url"`
// Path to CA file
SSLCA string `toml:"ssl_ca"`
// Path to host cert file
@ -183,7 +180,7 @@ func (h *HTTP) gatherURL(
}
for _, metric := range metrics {
if h.TagURL {
if !metric.HasTag("url") {
metric.AddTag("url", url)
}
acc.AddFields(metric.Name(), metric.Fields(), metric.Tags(), metric.Time())

View File

@ -23,8 +23,7 @@ func TestHTTPwithJSONFormat(t *testing.T) {
url := fakeServer.URL + "/endpoint"
plugin := &plugin.HTTP{
URLs: []string{url},
TagURL: true,
URLs: []string{url},
}
metricName := "metricName"
p, _ := parsers.NewJSONParser(metricName, nil, nil)