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 { func getCanonicalPaths(mns []storage.MetricName) []string {
paths := make([]string, 0, len(mns)) paths := make([]string, 0, len(mns))
var b []byte
var tags []storage.Tag
for _, mn := range mns { for _, mn := range mns {
b = append(b[:0], mn.MetricGroup...) path := getCanonicalPath(&mn)
tags = append(tags[:0], mn.Tags...) 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 { sort.Slice(tags, func(i, j int) bool {
return string(tags[i].Key) < string(tags[j].Key) 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, '=')
b = append(b, tag.Value...) b = append(b, tag.Value...)
} }
paths = append(paths, string(b)) return string(b)
}
sort.Strings(paths)
return paths
} }
var tagsFindSeriesDuration = metrics.NewSummary(`vm_request_duration_seconds{path="/tags/findSeries"}`) var tagsFindSeriesDuration = metrics.NewSummary(`vm_request_duration_seconds{path="/tags/findSeries"}`)