in metricsgenreceiver/internal/distribution/distribution.go [82:94]
func advanceFloat(rand *rand.Rand, m pmetric.Metric, value float64, dist DistributionCfg) float64 {
delta := rand.NormFloat64() * dist.StdDev
if isMonotonicSum(&m) {
delta += float64(dist.MedianMonotonicSum)
}
if isDelta(&m) {
value = delta
} else {
value += delta
}
// negative metrics are pretty rare, so we just simulate positive values
return math.Abs(value)
}