Prometheus instrumentation library for Go applications
Go to file
beorn7 cbe221c969 Switch to sync.Pool.
sync.Pool is after all faster than the home-made free list. Especially
under contention. To prove that, this commit also adds a benchmark for
concurrent fingerprint calculation.

Benchmark results:
(Run with -cpu=1,2,4. x-y -> x goroutines with GOMAXPROCS=y.)

benchmark                                     old ns/op     new ns/op     delta
BenchmarkMetricToFingerprintTripleConc4-4     320           138           -56.88%
BenchmarkMetricToFingerprintTripleConc8-4     314           141           -55.10%
BenchmarkMetricToFingerprintTripleConc4-2     344           264           -23.26%
BenchmarkMetricToFingerprintTripleConc2-4     331           256           -22.66%
BenchmarkMetricToFingerprintTripleConc8-2     338           263           -22.19%
BenchmarkMetricToFingerprintTripleConc1-4     599           505           -15.69%
BenchmarkMetricToFingerprintTripleConc4       553           493           -10.85%
BenchmarkMetricToFingerprintTripleConc2-2     327           292           -10.70%
BenchmarkMetricToFingerprintTripleConc8       554           496           -10.47%
BenchmarkMetricToFingerprintTripleConc2       555           501           -9.73%
BenchmarkMetricToFingerprintTripleConc1       554           509           -8.12%
BenchmarkMetricToFingerprintTripleConc1-2     551           513           -6.90%
2015-03-04 12:35:06 +01:00
Godeps Use non-rewritten Godep imports. 2015-02-27 16:49:40 +01:00
examples Add a histogram to the random example. 2015-02-23 16:19:01 +01:00
extraction Use non-rewritten Godep imports. 2015-02-27 16:49:40 +01:00
model Switch to sync.Pool. 2015-03-04 12:35:06 +01:00
prometheus Use non-rewritten Godep imports. 2015-02-27 16:49:40 +01:00
text Fix whitespace. 2015-03-03 18:41:06 +01:00
.gitignore Enclose artifact generation process into Makefile. 2013-07-21 17:45:53 +02:00
.travis.yml Update used Go version from 1.2.1 to 1.4. 2014-12-19 14:18:46 +01:00
AUTHORS.md License cleanup 2015-01-22 16:13:15 +01:00
CHANGELOG.md Cut release 0.3.0. 2015-03-03 18:17:26 +01:00
CONTRIBUTING.md License cleanup 2015-01-22 16:13:15 +01:00
LICENSE License cleanup 2015-01-22 16:13:15 +01:00
Makefile Use non-rewritten Godep imports. 2015-02-27 16:49:40 +01:00
NOTICE Add newly vendored libraries to NOTICE file. 2015-02-26 14:04:24 +01:00
README.md License cleanup 2015-01-22 16:13:15 +01:00
VERSION Cut release 0.3.0. 2015-03-03 18:17:26 +01:00

README.md

Overview

This is the Prometheus Go client library. It provides several distinct functions, and there is separate documentation for each respective component. You will want to select the appropriate topic below to continue your journey:

  1. See the exposition library if you want to export metrics to a Prometheus server or pushgateway

  2. See the consumption library if you want to process metrics exported by a Prometheus client. (The Prometheus server is using that library.)

GoDoc

Getting Started

Testing

$ go test ./...

Continuous Integration

Build Status

Contributing

See the contributing guidelines.