collect method
collect all metrics and samples that are part of this Collector.
Implementation
@override
Future<Iterable<MetricFamilySamples>> collect() async {
await collectCallback?.call(this);
final samples = <Sample>[];
_children.forEach((labelValues, child) {
final labelNamesWithLe = List.of(labelNames)..add(leLabel);
for (var i = 0; i < buckets.length; ++i) {
samples.add(Sample(
'${name}_bucket',
labelNamesWithLe,
List.of(labelValues)..add(formatDouble(buckets[i])),
child._bucketValues[i],
));
}
samples
.add(Sample('${name}_count', labelNames, labelValues, child.count));
samples.add(Sample('${name}_sum', labelNames, labelValues, child.sum));
});
return [MetricFamilySamples(name, MetricType.histogram, help, samples)];
}