MCPcopy
hub / github.com/grafana/tempo / attributeHash

Function attributeHash

tempodb/encoding/vparquet4/rebatch_trace.go:150–173  ·  view source on GitHub ↗
(attr *Attribute, hash uint64)

Source from the content-addressed store, hash-verified

148}
149
150func attributeHash(attr *Attribute, hash uint64) uint64 {
151 hash = fnv1a.AddString64(hash, attr.Key)
152
153 // is array?
154 for _, v := range attr.Value {
155 hash = fnv1a.AddString64(hash, v)
156 }
157 for _, v := range attr.ValueBool {
158 b := uint64(0)
159 if v {
160 b = 1
161 }
162 hash = fnv1a.AddUint64(hash, b)
163 }
164 for _, v := range attr.ValueDouble {
165 hash = fnv1a.AddUint64(hash, math.Float64bits(v))
166 }
167 for _, v := range attr.ValueInt {
168 hash = fnv1a.AddUint64(hash, uint64(v))
169 }
170 hash = addHash(attr.ValueUnsupported, hash)
171
172 return hash
173}
174
175func addHash(s *string, hash uint64) uint64 {
176 if s == nil {

Callers 2

scopeSpanHashFunction · 0.70
resourceSpanHashFunction · 0.70

Calls 1

addHashFunction · 0.85

Tested by

no test coverage detected