in metrictest/metric.go [69:91]
func GatherInt64Metric(ms []metricdata.Metrics) Int64Metrics {
observed := Int64Metrics{}
for _, m := range ms {
valueMap := Dimension{}
switch data := m.Data.(type) {
case metricdata.Sum[int64]:
for _, dp := range data.DataPoints {
if dp.Attributes.Len() == 0 {
valueMap[KV{}] += int64(dp.Value)
}
iter := dp.Attributes.Iter()
for iter.Next() {
attr := iter.Attribute()
valueMap[KV{string(attr.Key), attr.Value.Emit()}] += int64(dp.Value)
}
}
default:
continue
}
observed[Key{Name: m.Name, Unit: m.Unit}] = valueMap
}
return observed
}