in cmd/otelinmemexporter/store.go [455:482]
func validateAndGroupAggregationConfigs(src []AggregationConfig) (keyToAggConfig, metricNameToAggConfigs, error) {
nameM := make(map[string][]AggregationConfig)
keyM := make(map[string]*AggregationConfig)
for i := range src {
srcCfg := src[i]
if err := srcCfg.validate(); err != nil {
return nil, nil, err
}
if _, seen := keyM[srcCfg.Key]; seen {
return nil, nil, fmt.Errorf(
"key should be unique, found duplicate: %s", srcCfg.Key)
}
if toCfgs, ok := nameM[srcCfg.Name]; ok {
for _, toCfg := range toCfgs {
if err := checkDuplicateAggConfigForName(toCfg, srcCfg); err != nil {
return nil, nil, err
}
}
}
nameM[srcCfg.Name] = append(nameM[srcCfg.Name], srcCfg)
keyM[srcCfg.Key] = &srcCfg
}
return keyM, nameM, nil
}