parent
03b2984ac2
commit
8ca4a50c18
|
@ -81,6 +81,9 @@ func makemetric(
|
||||||
// Validate uint64 and float64 fields
|
// Validate uint64 and float64 fields
|
||||||
// convert all int & uint types to int64
|
// convert all int & uint types to int64
|
||||||
switch val := v.(type) {
|
switch val := v.(type) {
|
||||||
|
case nil:
|
||||||
|
// delete nil fields
|
||||||
|
delete(fields, k)
|
||||||
case uint:
|
case uint:
|
||||||
fields[k] = int64(val)
|
fields[k] = int64(val)
|
||||||
continue
|
continue
|
||||||
|
@ -127,9 +130,9 @@ func makemetric(
|
||||||
delete(fields, k)
|
delete(fields, k)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
default:
|
||||||
|
fields[k] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
fields[k] = v
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var m telegraf.Metric
|
var m telegraf.Metric
|
||||||
|
|
|
@ -29,6 +29,32 @@ func TestMakeMetricNoFields(t *testing.T) {
|
||||||
assert.Nil(t, m)
|
assert.Nil(t, m)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nil fields should get dropped
|
||||||
|
func TestMakeMetricNilFields(t *testing.T) {
|
||||||
|
now := time.Now()
|
||||||
|
ri := RunningInput{
|
||||||
|
Config: &InputConfig{
|
||||||
|
Name: "TestRunningInput",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
m := ri.MakeMetric(
|
||||||
|
"RITest",
|
||||||
|
map[string]interface{}{
|
||||||
|
"value": int(101),
|
||||||
|
"nil": nil,
|
||||||
|
},
|
||||||
|
map[string]string{},
|
||||||
|
telegraf.Untyped,
|
||||||
|
now,
|
||||||
|
)
|
||||||
|
assert.Equal(
|
||||||
|
t,
|
||||||
|
fmt.Sprintf("RITest value=101i %d", now.UnixNano()),
|
||||||
|
m.String(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// make an untyped, counter, & gauge metric
|
// make an untyped, counter, & gauge metric
|
||||||
func TestMakeMetric(t *testing.T) {
|
func TestMakeMetric(t *testing.T) {
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
|
Loading…
Reference in New Issue