in exporter/collector/metrics.go [1532:1576]
func (m *metricMapper) summaryMetricDescriptors(
pm pmetric.Metric,
extraLabels labels,
) []*metricpb.MetricDescriptor {
sumType, countType, quantileType, err := m.summaryMetricTypes(pm)
if err != nil {
m.obs.log.Debug("Failed to get metric types (i.e. names) for summary metric. Dropping the metric.", zap.Error(err), zap.Any("metric", pm))
return nil
}
labels := m.labelDescriptors(pm, extraLabels)
return []*metricpb.MetricDescriptor{
{
Type: sumType,
Labels: labels,
MetricKind: metricpb.MetricDescriptor_CUMULATIVE,
ValueType: metricpb.MetricDescriptor_DOUBLE,
Unit: pm.Unit(),
Description: pm.Description(),
DisplayName: pm.Name() + SummarySumSuffix,
},
{
Type: countType,
Labels: labels,
MetricKind: metricpb.MetricDescriptor_CUMULATIVE,
ValueType: metricpb.MetricDescriptor_DOUBLE,
Unit: pm.Unit(),
Description: pm.Description(),
DisplayName: pm.Name() + SummaryCountPrefix,
},
{
Type: quantileType,
Labels: append(
labels,
&label.LabelDescriptor{
Key: "quantile",
Description: "the value at a given quantile of a distribution",
}),
MetricKind: metricpb.MetricDescriptor_GAUGE,
ValueType: metricpb.MetricDescriptor_DOUBLE,
Unit: pm.Unit(),
Description: pm.Description(),
DisplayName: pm.Name(),
},
}
}