special case 'value'

it usually connotes a single value type metric, appending just clutters
This commit is contained in:
david birdsong 2016-03-08 18:33:57 +00:00
parent 13600366cf
commit cc530ae1a0
2 changed files with 10 additions and 5 deletions

View File

@ -79,7 +79,12 @@ func (p *PrometheusClient) Write(metrics []telegraf.Metric) error {
}
for n, val := range point.Fields() {
mname := fmt.Sprintf("%s_%s", key, n)
var mname string
if n == "value" {
mname = key
} else {
mname = fmt.Sprintf("%s_%s", key, n)
}
if _, ok := p.metrics[mname]; !ok {
p.metrics[mname] = prometheus.NewUntypedVec(
prometheus.UntypedOpts{

View File

@ -46,8 +46,8 @@ func TestPrometheusWritePointEmptyTag(t *testing.T) {
value float64
tags map[string]string
}{
{"test_point_1_value", 0.0, tags},
{"test_point_2_value", 1.0, tags},
{"test_point_1", 0.0, tags},
{"test_point_2", 1.0, tags},
}
var acc testutil.Accumulator
@ -78,8 +78,8 @@ func TestPrometheusWritePointEmptyTag(t *testing.T) {
name string
value float64
}{
{"test_point_3_value", 0.0},
{"test_point_4_value", 1.0},
{"test_point_3", 0.0},
{"test_point_4", 1.0},
}
require.NoError(t, p.Gather(&acc))