func convertIntToDouble()

in exporter/collector/googlemanagedprometheus/extra_metrics.go [44:74]


func convertIntToDouble(m pmetric.Metrics) {
	if !intToDoubleFeatureGate.IsEnabled() {
		return
	}
	rms := m.ResourceMetrics()
	for i := 0; i < rms.Len(); i++ {
		rm := rms.At(i)
		for j := 0; j < rm.ScopeMetrics().Len(); j++ {
			sm := rm.ScopeMetrics().At(j)
			for k := 0; k < sm.Metrics().Len(); k++ {
				metric := sm.Metrics().At(k)

				var points pmetric.NumberDataPointSlice
				switch metric.Type() {
				case pmetric.MetricTypeSum:
					points = metric.Sum().DataPoints()
				case pmetric.MetricTypeGauge:
					points = metric.Gauge().DataPoints()
				default:
					continue
				}
				for x := 0; x < points.Len(); x++ {
					point := points.At(x)
					if point.ValueType() == pmetric.NumberDataPointValueTypeInt {
						point.SetDoubleValue(float64(point.IntValue()))
					}
				}
			}
		}
	}
}