Bartlomiej Plotka
1f81b3e913
Added Transactional Gatherer allowed cached solutions ( #989 )
...
* Added cached collector.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
update.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Attempt 2
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Added blocking registry, with raw collector and transactional handler.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Added fast path to normal (empty) registry to save 8 allocs and 3K5B per Gather.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Simplified API, added tests.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Fix.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Simplified implementation.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Added benchmark.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Optimized.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Optimization attempt.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Revert "Optimization attempt."
This reverts commit 2fcaf51be9
.
Optimization was not worth it:
benchstat v1.txt v2.txt
name old time/op new time/op delta
CachedTGatherer_Update/Update_of_one_element_without_reset-12 2.64µs ± 0% 4.05µs ± 0% ~ (p=1.000 n=1+1)
CachedTGatherer_Update/Update_of_all_elements_with_reset-12 701ms ± 0% 358ms ± 0% ~ (p=1.000 n=1+1)
CachedTGatherer_Update/Gather-12 535µs ± 0% 703934µs ± 0% ~ (p=1.000 n=1+1)
name old alloc/op new alloc/op delta
CachedTGatherer_Update/Update_of_one_element_without_reset-12 208B ± 0% 208B ± 0% ~ (all equal)
CachedTGatherer_Update/Update_of_all_elements_with_reset-12 40.2MB ± 0% 41.1MB ± 0% ~ (p=1.000 n=1+1)
CachedTGatherer_Update/Gather-12 48.6kB ± 0% 84.3kB ± 0% ~ (p=1.000 n=1+1)
name old allocs/op new allocs/op delta
CachedTGatherer_Update/Update_of_one_element_without_reset-12 3.00 ± 0% 3.00 ± 0% ~ (all equal)
CachedTGatherer_Update/Update_of_all_elements_with_reset-12 6.00 ± 0% 4003.00 ± 0% ~ (p=1.000 n=1+1)
CachedTGatherer_Update/Gather-12 1.00k ± 0% 2.01k ± 0% ~ (p=1.000 n=1+1)
* nit.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Another optimization attempt.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* rename and further optimization.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Hopefully final optimization.
benchstat -delta-test=none v6.txt v9.txt
name old time/op new time/op delta
CachedTGatherer_Update/Update_of_one_element_without_reset-12 13.1ms ± 0% 0.0ms ± 0% -99.81%
CachedTGatherer_Update/Update_of_all_elements_with_reset-12 309ms ± 0% 282ms ± 0% -8.77%
CachedTGatherer_Update/Gather-12 422ms ± 0% 0ms ± 0% -99.95%
name old alloc/op new alloc/op delta
CachedTGatherer_Update/Update_of_one_element_without_reset-12 208B ± 0% 208B ± 0% 0.00%
CachedTGatherer_Update/Update_of_all_elements_with_reset-12 2.47kB ± 0% 1.67kB ± 0% -32.56%
CachedTGatherer_Update/Gather-12 52.8kB ± 0% 24.6kB ± 0% -53.34%
name old allocs/op new allocs/op delta
CachedTGatherer_Update/Update_of_one_element_without_reset-12 3.00 ± 0% 3.00 ± 0% 0.00%
CachedTGatherer_Update/Update_of_all_elements_with_reset-12 0.00 0.00 0.00%
CachedTGatherer_Update/Gather-12 1.00k ± 0% 0.00k ± 0% -99.60%
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Removed obsolete comment
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Fixed tests.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Removed cache.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Fixed tests.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Re-add cache.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Removed cache.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
2022-02-23 11:22:52 +00:00
beorn7
7be86f93c1
Create an internal package
...
This is for types we don't want to export but which are used in
different packages within client_golang.
Currently, that's only NormalizeMetricFamilies (used in the prometheus
package and in the testutil package). More to be added as needed.
Signed-off-by: beorn7 <beorn@soundcloud.com>
2018-09-03 00:18:11 +02:00