我正面临一个问题,我希望将该指标暴露给普罗米修斯。我有以下逻辑。此逻辑不是collect方法的一部分。我实际上是在以尾部模式(某些特殊要求)读取指标,因此我没有在collect方法中进行操作。请帮助公开这些指标,这些指标我已从开放指标格式成功扫描
for metricName, mf := range metricFamilies {
for _, m := range mf.Metric {
var ts time.Time
if m.TimestampMs != nil {
ts = time.Unix(0, *m.TimestampMs*1000000)
} else {
ts = time.Now()
}
desc := prometheus.NewDesc(
metricName,
metricName,
makeLabelsNames(m), nil,
)
s := prometheus.NewMetricWithTimestamp(
ts,
prometheus.MustNewConstMetric(
desc, prometheus.GaugeValue, float64(m.GetUntyped().GetValue()), makeLabelVals(m)...,
),
)
metric := &dto.Metric{}
s.Write(metric)
fmt.Println(proto.MarshalTextString(metric))
}
}