metric 해시 계산 로직 수정
This commit is contained in:
@ -9,6 +9,7 @@ import (
|
||||
"math"
|
||||
"os"
|
||||
"path"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync/atomic"
|
||||
|
||||
@ -67,11 +68,26 @@ func NewMetric(mt MetricType, name string, help string, constLabels map[string]s
|
||||
return MetricWriterNil
|
||||
}
|
||||
|
||||
hash := md5.New()
|
||||
hash.Write([]byte(name))
|
||||
var disorder []struct {
|
||||
k string
|
||||
v string
|
||||
}
|
||||
for k, v := range constLabels {
|
||||
hash.Write([]byte(k))
|
||||
hash.Write([]byte(v))
|
||||
disorder = append(disorder, struct {
|
||||
k string
|
||||
v string
|
||||
}{k: strings.ToLower(k), v: strings.ToLower(v)})
|
||||
}
|
||||
|
||||
sort.Slice(disorder, func(i, j int) bool {
|
||||
return disorder[i].k < disorder[j].k
|
||||
})
|
||||
|
||||
hash := md5.New()
|
||||
hash.Write([]byte(strings.ToLower(name)))
|
||||
for _, d := range disorder {
|
||||
hash.Write([]byte(d.k))
|
||||
hash.Write([]byte(d.v))
|
||||
}
|
||||
|
||||
key := hex.EncodeToString(hash.Sum(nil))[:metric_key_size]
|
||||
|
||||
Reference in New Issue
Block a user