Commit Graph

11 Commits

Author SHA1 Message Date
Sven Rebhan b658b2d403
feat(aggregators.merge): Allow to round metric timestamps (#15319) 2024-05-09 10:07:10 -05:00
Sebastian Spaink d67f75e557
docs: Remove warning not to remove go:embed (#11797)
Co-authored-by: Joshua Powers <powersj@fastmail.com>
2022-09-13 12:47:58 -05:00
Joshua Powers 8c49ddccc3
chore: update to go1.19.1 (#11776) 2022-09-08 12:49:36 -06:00
Joshua Powers 2fc19fa308
chore: correctly spell embed (#11200) 2022-05-27 07:13:47 -06:00
Sven Rebhan 1b0bf3579b
chore: Embed sample configurations into README for aggregators (#11190) 2022-05-25 10:25:51 -06:00
Sebastian Spaink 43017e14dd
feat: migrate aggregator plugins to new sample config format (#10912) 2022-04-06 14:40:17 -06:00
Paweł Żak 74a1acd814
Linter fixes - revive:unused-parameter, unparam, varcheck and unused (#8984)
* Linter fixes - revive:unused-parameter and unparam

* Linter fixes - revive:unused-parameter and unparam

* Linter fixes - revive:unused-parameter and unparam

* "nolint"'s removed

* Fixes for "varcheck" and "unused" added.

* Fixes for "varcheck" and "unused" added.

* Fixes for "varcheck" and "unused" added.

* Fixes for "varcheck" and "unused" added.

* Fixes for "varcheck" and "unused" added.

* Fixes for "varcheck" and "unused" added.

* Fixes for "varcheck" and "unused" added.

Co-authored-by: Pawel Zak <Pawel Zak>
2021-03-22 12:21:36 -05:00
Patrick Hemmer 910b726876
Optimize SeriesGrouper & aggregators.merge (#8391)
The previous implementation of SeriesGrouper required breaking a metric object apart into its constituents, converting tags and keys into unoptimized maps, only to have it put them back together into another metric object. This resulted in a significant performance overhead. This overhead was further compounded when the number of fields was large.

This change adds a new AddMetric method to SeriesGrouper which preserves the metric object and removes the back-and-forth conversion.

Additionlly the method used for calculating the metric's hash was switched to use maphash, which is optimized for this case.

----

Benchmarks

Before:

    BenchmarkMergeOne-16          106012	     11790 ns/op
    BenchmarkMergeTwo-16           48529	     24819 ns/op
    BenchmarkGroupID-16           780018	      1608 ns/op

After:

    BenchmarkMergeOne-16          907093	      1173 ns/op
    BenchmarkMergeTwo-16          508321	      2168 ns/op
    BenchmarkGroupID-16         11217788	      99.4 ns/op
2021-01-07 11:39:12 -05:00
Daniel Nelson 5f52b9538d
Fix indention in merge sample config 2020-01-08 10:48:06 -08:00
Samantha Wang d62ff1d25c Update merge aggregator config file in README.md (#6805) 2020-01-08 10:46:01 -08:00
Daniel Nelson fc6fb33067
Add merge aggregator (#6410) 2019-09-26 17:09:44 -07:00