app/vmselect/graphite: extract getCanonicalPath() function from loop body inside getCanonicalPaths()

This commit is contained in:
Aliaksandr Valialkin 2021-01-18 17:30:09 +02:00
parent 79cd33319f
commit 5856611291

View File

@ -366,11 +366,17 @@ func TagsFindSeriesHandler(startTime time.Time, at *auth.Token, w http.ResponseW
func getCanonicalPaths(mns []storage.MetricName) []string {
paths := make([]string, 0, len(mns))
var b []byte
var tags []storage.Tag
for _, mn := range mns {
b = append(b[:0], mn.MetricGroup...)
tags = append(tags[:0], mn.Tags...)
path := getCanonicalPath(&mn)
paths = append(paths, path)
}
sort.Strings(paths)
return paths
}
func getCanonicalPath(mn *storage.MetricName) string {
b := append([]byte{}, mn.MetricGroup...)
tags := append([]storage.Tag{}, mn.Tags...)
sort.Slice(tags, func(i, j int) bool {
return string(tags[i].Key) < string(tags[j].Key)
})
@ -380,10 +386,7 @@ func getCanonicalPaths(mns []storage.MetricName) []string {
b = append(b, '=')
b = append(b, tag.Value...)
}
paths = append(paths, string(b))
}
sort.Strings(paths)
return paths
return string(b)
}
var tagsFindSeriesDuration = metrics.NewSummary(`vm_request_duration_seconds{path="/tags/findSeries"}`)