func convToMetricType()

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
	}
}