Allow numeric and non-string values for tag_keys. (#1782)
* Allow numeric and non-string values for tag_keys. According to the go documentation the JSON deserializer only produces these base types in output: - string - bool - float64 - nil With this patch bool, float64 and nil values get converted to a string when their field key is specified in tag_keys. Previously the field was simply discarded. * Updated handling of nil for passing tests. The automated tests are less than trivial to reproduece locally for me, so I hope CircleCI wonn't mind... * Updated changelog entries with PR and issue links.
This commit is contained in:
committed by
Cameron Sparr
parent
100501ba72
commit
9ea3dbeee8
@@ -35,6 +35,10 @@ func (p *JSONParser) Parse(buf []byte) ([]telegraf.Metric, error) {
|
||||
switch v := jsonOut[tag].(type) {
|
||||
case string:
|
||||
tags[tag] = v
|
||||
case bool:
|
||||
tags[tag] = strconv.FormatBool(v)
|
||||
case float64:
|
||||
tags[tag] = strconv.FormatFloat(v, 'f', -1, 64)
|
||||
}
|
||||
delete(jsonOut, tag)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user