in collector/receiver/prometheusreceiver/internal/metadata.go [57:78]
func metadataForMetric(metricName string, mc scrape.MetricMetadataStore) (*scrape.MetricMetadata, string) {
if metadata, ok := internalMetricMetadata[metricName]; ok {
return metadata, metricName
}
if metadata, ok := mc.GetMetadata(metricName); ok {
return &metadata, metricName
}
// If we didn't find metadata with the original name,
// try with suffixes trimmed, in-case it is a "merged" metric type.
normalizedName := normalizeMetricName(metricName)
if metadata, ok := mc.GetMetadata(normalizedName); ok {
if metadata.Type == model.MetricTypeCounter {
return &metadata, metricName
}
return &metadata, normalizedName
}
// Otherwise, the metric is unknown
return &scrape.MetricMetadata{
Metric: metricName,
Type: model.MetricTypeUnknown,
}, metricName
}