in v2/metrics/common/utils.go [30:41]
func Collect(col prom.Collector, do func(*dto.Metric)) {
c := make(chan prom.Metric)
go func(c chan prom.Metric) {
col.Collect(c)
close(c)
}(c)
for x := range c { // eg range across distinct label vector values
m := &dto.Metric{}
_ = x.Write(m)
do(m)
}
}