in collector/receiver/prometheusreceiver/internal/util.go [105:127]
func convToMetricType(metricType model.MetricType) (pmetric.MetricType, bool) {
switch metricType {
case model.MetricTypeCounter:
// always use float64, as it's the internal data type used in prometheus
return pmetric.MetricTypeSum, true
// model.MetricTypeUnknown is converted to gauge by default to prevent Prometheus untyped metrics from being dropped
case model.MetricTypeGauge, model.MetricTypeUnknown:
return pmetric.MetricTypeGauge, false
case model.MetricTypeHistogram:
return pmetric.MetricTypeHistogram, true
// dropping support for gaugehistogram for now until we have an official spec of its implementation
// a draft can be found in: https://docs.google.com/document/d/1KwV0mAXwwbvvifBvDKH_LU1YjyXE_wxCkHNoCGq1GX0/edit#heading=h.1cvzqd4ksd23
// case model.MetricTypeGaugeHistogram:
// return <pdata gauge histogram type>
case model.MetricTypeSummary:
return pmetric.MetricTypeSummary, true
case model.MetricTypeInfo, model.MetricTypeStateset:
return pmetric.MetricTypeSum, false
default:
// including: textparse.MetricTypeGaugeHistogram
return pmetric.MetricTypeEmpty, false
}
}