func Collect()

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