mirror of
https://github.com/prometheus/prometheus
synced 2024-12-26 00:23:18 +00:00
4df5c7ab18
This optimizes the runtime and memory allocation behavior for label matchers other than type "Equal". Instead of creating a new set for every union of fingerprints, this simply adds new fingerprints to the existing set to achieve the same effect. The current behavior made a production Prometheus unresponsive when running a NotEqual match against the "instance" label (a label with high value cardinality). BEFORE: BenchmarkGetFingerprintsForNotEqualMatcher 10 170430297 ns/op 39229944 B/op 40709 allocs/op AFTER: BenchmarkGetFingerprintsForNotEqualMatcher 5000 706260 ns/op 217717 B/op 1116 allocs/op Change-Id: Ifd78e81e7dfbf5d7249e50ad1903a5d9c42c347a |
||
---|---|---|
.. | ||
test | ||
bytesize.go | ||
cache.go | ||
deadline_client.go | ||
embed-static.sh | ||
file_ext.go | ||
freelist.go | ||
set_test.go | ||
set.go | ||
sort.go | ||
strconv.go | ||
time.go | ||
uncertaintygroup_test.go | ||
uncertaintygroup.go |