VictoriaMetrics/lib/promutils
Aliaksandr Valialkin 4e65636b44
lib/promutils: optimize LabelsCompressor.Decompress by using a specialized labelsMap struct instead of sync.Map
The labelsMap struct employs the fact that label indexes are condensed around 0,
so it stores the referred labels in a slice instead of map and uses slice index as label key.
This allows increasing the LabelsCompressor.Decompress performance by up to 3x.
This also reduces the latency of data flush in stream aggregation.
2024-03-03 23:21:25 +02:00
..
duration_test.go lib/promscrape: support prometheus-like duration in scrape configs (#2169) 2022-02-11 16:17:00 +02:00
duration.go lib/promutils, app/vmalert-tool/unittest: move promutils.Duration.ParseTime() to app/vmalert-tool/unittest.durationToTime() 2023-10-16 14:19:31 +02:00
labels_test.go lib/promutils: properly return error when incorrect Prometheus label names are passed to NewLabelsFromString() 2023-05-12 16:52:29 -07:00
labels_timing_test.go lib/promscrape: optimize service discovery speed 2022-11-29 21:26:00 -08:00
labels.go all: consistently clear prompbmarshal.Label by assigning an empty struct instead of zeroing Name and Value individually 2024-01-21 05:11:05 +02:00
labelscompressor_test.go lib/streamaggr: huge pile of changes 2024-03-02 02:42:50 +02:00
labelscompressor_timing_test.go lib/streamaggr: huge pile of changes 2024-03-02 02:42:50 +02:00
labelscompressor.go lib/promutils: optimize LabelsCompressor.Decompress by using a specialized labelsMap struct instead of sync.Map 2024-03-03 23:21:25 +02:00
time_test.go lib/promutils: hide the math.Round() logic inside ParseTimeMsec() function 2024-02-23 00:55:32 +02:00
time.go lib/promutils: hide the math.Round() logic inside ParseTimeMsec() function 2024-02-23 00:55:32 +02:00