Fix export timestamp not working for prometheus on v2 (#7289)
This commit is contained in:
parent
c56596dec2
commit
df145c7e56
|
@ -139,7 +139,7 @@ func (p *PrometheusClient) Init() error {
|
|||
return err
|
||||
}
|
||||
case 2:
|
||||
p.collector = v2.NewCollector(p.ExpirationInterval.Duration, p.StringAsLabel)
|
||||
p.collector = v2.NewCollector(p.ExpirationInterval.Duration, p.StringAsLabel, p.ExportTimestamp)
|
||||
err := registry.Register(p.collector)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -48,6 +48,34 @@ func TestMetricVersion2(t *testing.T) {
|
|||
# HELP cpu_time_idle Telegraf collected metric
|
||||
# TYPE cpu_time_idle untyped
|
||||
cpu_time_idle{host="example.org"} 42
|
||||
`),
|
||||
},
|
||||
{
|
||||
name: "when export timestamp is true timestamp is present in the metric",
|
||||
output: &PrometheusClient{
|
||||
Listen: ":0",
|
||||
MetricVersion: 2,
|
||||
CollectorsExclude: []string{"gocollector", "process"},
|
||||
Path: "/metrics",
|
||||
ExportTimestamp: true,
|
||||
Log: Logger,
|
||||
},
|
||||
metrics: []telegraf.Metric{
|
||||
testutil.MustMetric(
|
||||
"cpu",
|
||||
map[string]string{
|
||||
"host": "example.org",
|
||||
},
|
||||
map[string]interface{}{
|
||||
"time_idle": 42.0,
|
||||
},
|
||||
time.Unix(0, 0),
|
||||
),
|
||||
},
|
||||
expected: []byte(`
|
||||
# HELP cpu_time_idle Telegraf collected metric
|
||||
# TYPE cpu_time_idle untyped
|
||||
cpu_time_idle{host="example.org"} 42 0
|
||||
`),
|
||||
},
|
||||
{
|
||||
|
|
|
@ -43,11 +43,16 @@ type Collector struct {
|
|||
coll *serializer.Collection
|
||||
}
|
||||
|
||||
func NewCollector(expire time.Duration, stringsAsLabel bool) *Collector {
|
||||
func NewCollector(expire time.Duration, stringsAsLabel bool, exportTimestamp bool) *Collector {
|
||||
config := serializer.FormatConfig{}
|
||||
if stringsAsLabel {
|
||||
config.StringHandling = serializer.StringAsLabel
|
||||
}
|
||||
|
||||
if exportTimestamp {
|
||||
config.TimestampExport = serializer.ExportTimestamp
|
||||
}
|
||||
|
||||
return &Collector{
|
||||
expireDuration: expire,
|
||||
coll: serializer.NewCollection(config),
|
||||
|
|
Loading…
Reference in New Issue