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 labelNamesWithQuantile = List.of(labelNames)..add(quantileLabel);
final values = child.values;
for (var i = 0; i < quantiles.length; ++i) {
final q = quantiles[i].quantile;
samples.add(Sample(name, labelNamesWithQuantile,
List.of(labelValues)..add(formatDouble(q)), values[q]));
}
samples
.add(Sample(name + '_count', labelNames, labelValues, child.count));
samples.add(Sample(name + '_sum', labelNames, labelValues, child.sum));
});
return [MetricFamilySamples(name, MetricType.summary, help, samples)];
}