client_golang/prometheus
beorn7 ee1078a03c Move registry hashing to xxhash
This is a much stronger hash function than fnv64a and comparably fast
(with super-fast assembly implementation for amd64).

Performance is not critical here anyway.

The old fnv64a is kept for vectors, where collision detection is in
place and the weakness of the hashing doesn't matter that much. I
implemented a vector version with xxhash and found that xxhash is
slower in all cases except very very high cardinality (where it is
only slightly faster). Also, ``xxhash.New`` comes with an allocation
of 80 bytes. Thus, to keep vectors alloc-free, we needed to add a
`sync.Pool`, which would have an additional performance overhead.

Signed-off-by: beorn7 <beorn@grafana.com>
2019-10-14 21:18:38 +02:00
..
graphite *: replace golang.org/x/net/context by context 2019-04-09 15:10:51 +02:00
internal Create an internal package 2018-09-03 00:18:11 +02:00
promauto promauto: add NewCounterFunc and NewGaugeFunc 2018-03-17 14:01:36 -07:00
promhttp Add WriteHeader call to Flush 2019-08-19 18:19:23 +02:00
push Fix check status code 2019-10-12 16:08:00 +08:00
testutil Revert "Fix tests to adhere to the recent change in prometheus/common" 2019-01-27 23:18:44 +01:00
.gitignore Rearrange file and package per convention. 2013-04-04 15:27:09 +02:00
README.md Create a public registry interface and separate out HTTP exposition 2016-08-02 18:46:22 +02:00
benchmark_test.go Add a benchmark for concurrent counter increments 2018-01-19 15:15:10 -08:00
build_info.go Add a simple buildInfoCollector 2019-06-06 22:24:23 +02:00
build_info_pre_1.12.go Add a simple buildInfoCollector 2019-06-06 22:24:23 +02:00
collector.go fix typo 2019-01-04 21:14:10 +01:00
collector_test.go Add a DescribeByCollect helper 2018-09-05 14:10:51 +02:00
counter.go Remove fmt from import 2018-11-02 09:21:12 -07:00
counter_test.go Make TestCounterAddLarge more robust 2019-05-03 22:25:32 +02:00
desc.go Move registry hashing to xxhash 2019-10-14 21:18:38 +02:00
desc_test.go Add missing license headers 2018-08-22 13:53:56 +02:00
doc.go Remove all deprecated features 2019-06-11 16:28:47 +02:00
example_clustermanager_test.go Nitpicking a doc comment 2018-11-20 13:41:38 +01:00
example_timer_complex_test.go fix spelling typo 2017-08-28 08:57:51 +08:00
example_timer_gauge_test.go Fix invalid Timer (gauge) example 2017-02-28 11:13:17 -04:00
example_timer_test.go Change the Timer API 2016-11-18 20:32:18 +01:00
examples_test.go Remove all deprecated features 2019-06-11 16:28:47 +02:00
expvar_collector.go Create a public registry interface and separate out HTTP exposition 2016-08-02 18:46:22 +02:00
expvar_collector_test.go Simplify if expr in ExampleNewExpvarCollector() 2018-04-13 23:23:52 +02:00
fnv.go Add missing license headers 2018-08-22 13:53:56 +02:00
gauge.go Update code based on the PR feedback 2018-11-02 09:01:14 -07:00
gauge_test.go Iterate on a proposed performance improvement for counters 2018-01-19 19:06:43 +01:00
go_collector.go Add a simple buildInfoCollector 2019-06-06 22:24:23 +02:00
go_collector_test.go Merge pull request #588 from prometheus/beorn7/test 2019-05-26 23:20:33 +02:00
histogram.go Fix some comment and naming nits as leftover from #536 2019-02-11 18:52:52 +01:00
histogram_test.go Remove all deprecated features 2019-06-11 16:28:47 +02:00
labels.go Update code based on the PR feedback 2018-11-02 09:01:14 -07:00
metric.go Move registry hashing to xxhash 2019-10-14 21:18:38 +02:00
metric_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
observer.go Pull currying methods up into ObserverVec interface 2017-12-22 16:11:58 +01:00
process_collector.go Update doc comment of NewProcessCollector 2019-06-14 12:33:52 +02:00
process_collector_other.go Implement process collector for Windows (#596) 2019-06-14 12:26:55 +02:00
process_collector_test.go Rework process collector 2018-09-07 12:09:26 +02:00
process_collector_windows.go Implement process collector for Windows (#596) 2019-06-14 12:26:55 +02:00
process_collector_windows_test.go Implement process collector for Windows (#596) 2019-06-14 12:26:55 +02:00
registry.go Move registry hashing to xxhash 2019-10-14 21:18:38 +02:00
registry_test.go Expose bug #633 2019-10-14 20:02:58 +02:00
summary.go Remove work duplication in doc comment 2019-06-12 01:46:17 +02:00
summary_test.go Remove all deprecated features 2019-06-11 16:28:47 +02:00
timer.go Return observed duration from Timer.ObserveDuration 2018-12-03 21:10:34 +01:00
timer_test.go new handler instrumentation (#285) 2017-04-24 15:13:19 -04:00
untyped.go Remove the deprecated uses of Untyped metrics 2017-08-29 17:31:45 +02:00
value.go Let NewConst... functions detect invalid Desc 2018-09-17 11:50:42 +02:00
value_test.go Add missing license headers 2018-08-22 13:53:56 +02:00
vec.go Fix unprotected write in metricMap 2018-04-09 10:10:15 -04:00
vec_test.go Allow currying of metric vec's 2017-12-22 15:56:11 +01:00
wrap.go Make the AlreadyRegisteredError useful for wrapped registries 2019-06-14 17:55:35 +02:00
wrap_test.go fix: fix a typo 2019-05-01 17:50:23 +08:00

README.md

See go-doc.