Commit Graph

558 Commits

Author SHA1 Message Date
Oliver 21b132f5a2 record quantiles as well 2015-05-05 12:33:35 -04:00
beorn7 0e0e6bff80 Rework the signature aka fingerprint functions.
Move everything over to a more expensive but less collision-prone way.
However, keep the old fingerprinting under the name "FastFingerprint"
to be used in the storage layer (where we need collision detection
anyway).
2015-05-05 18:02:21 +02:00
Oliver ff586eaac1 Add garbage collection stats 2015-05-05 09:52:36 -04:00
Björn Rabenstein 6efaf95d98 Merge pull request #115 from prometheus/beorn7/const-summaries-histograms
Make it possible to create constant summaries and histograms from static values.
2015-05-04 14:54:46 +02:00
beorn7 c8a7ccf663 Improvements after review. 2015-05-04 13:13:06 +02:00
beorn7 70419a3485 Add examples for const summary/histogram. 2015-05-04 12:22:15 +02:00
Bjoern Rabenstein 9c4fec0bce Implement constSummary and constHistogram. 2015-05-04 00:32:15 +02:00
Julius Volz 066ab78410 Correct typo in Counter.Set() docstring. 2015-04-30 18:51:33 +02:00
Julius Volz a7b24194e8 Merge pull request #112 from fabxc/labelnames
Add metrics path label.
2015-04-29 22:31:28 +02:00
Fabian Reinartz 05b08108b4 Add metrics path label. 2015-04-28 23:22:11 +02:00
Julius Volz 608ec8b69e Merge pull request #111 from fabxc/labelnames
Replace hidden label prefix with meta prefix.
2015-04-22 12:33:43 +02:00
Fabian Reinartz 642f761a3c Replace hidden label prefix with meta prefix. 2015-04-22 12:29:58 +02:00
Björn Rabenstein 6cc292c1c7 Merge pull request #110 from fabxc/labelnames
Add constants for instance/address labels and hidden prefix.
2015-04-21 13:36:15 +02:00
Fabian Reinartz 37a1f3ea97 Add constants for instance/address labels and hidden prefix. 2015-04-21 13:16:09 +02:00
Björn Rabenstein 692492e54b Merge pull request #107 from prometheus/beorn7/release
Cut v0.4.0.
2015-04-08 18:12:31 +02:00
beorn7 97d2bf50bf Cut v0.4.0. 2015-04-08 18:08:22 +02:00
beorn7 63acb006f7 Purge another trace of ext -> pbutil. 2015-04-07 15:19:47 +02:00
Björn Rabenstein 419b21ce61 Merge pull request #106 from peterbourgon/fix-ext-pbutil
s/ext/pbutil/g
2015-04-07 15:16:34 +02:00
Peter Bourgon 53034378aa Godep: remove reference to matttproud/golang_protobuf_extensions/ext 2015-04-07 12:35:11 +02:00
Peter Bourgon 20696dd841 Fix text/bench_test.go 2015-04-07 10:48:27 +02:00
Peter Bourgon 0d94dc38c3 Update Godeps for new matttproud/golang_protobuf_extensions/pbutil 2015-04-07 10:44:42 +02:00
Peter Bourgon a6f3300b8d s/ext/pbutil/g
The dependency matttproud/golang_protobuf_extensions changed its package
layout and thereby broke the Prometheus client_golang build. This fixes
it.
2015-04-07 10:33:04 +02:00
Julius Volz 3657dc8002 Merge pull request #104 from prometheus/remove-procfs-supported-fn
Inline and remove processCollectSupported().
2015-04-01 01:53:30 +02:00
Julius Volz 7b2ff852ca Inline and remove processCollectSupported(). 2015-04-01 01:18:20 +02:00
Julius Volz 8ba7a93fd6 Merge pull request #103 from prometheus/always-build-proc-collector
Always build the procfs collector.
2015-03-31 19:04:56 +02:00
Julius Volz 2b9d181f5b Merge process_collector{,procfs}.go files into one. 2015-03-31 18:24:46 +02:00
Julius Volz 21b7c6b048 Always build the procfs collector.
The cgo dependency in the "procfs" package is being removed in:

  https://github.com/prometheus/procfs/pull/4

So now it should be fine to always import the "procfs" package and have
it determine dynamically at runtime whether the proc filesystem is
actually there.

This fixes a problem for users which were vendoring client_golang on
MacOS X, but building the result on Linux (the procfs package was
missing in the vendored packages).
2015-03-31 18:07:40 +02:00
Björn Rabenstein 7fcf9f7bde Merge pull request #97 from prometheus/beorn7/metric-family-injection
Allow the metric family injection hook to merge with existing metric fam...
2015-03-16 15:16:25 +01:00
beorn7 4ab527fc50 Fix merge conflicts. 2015-03-16 15:15:02 +01:00
Björn Rabenstein 811a3a9dbf Merge pull request #99 from prometheus/beorn7/push-collector
Add functions to push individual collectors to a Pushgateway.
2015-03-15 23:16:01 +01:00
beorn7 f3cda15667 Add functions to push individual collectors to a Pushgateway.
Move all Pushgateway related top-level functions to push.go.
2015-03-15 19:29:57 +01:00
beorn7 a762e0612e Allow the metric family injection hook to merge with existing metric families.
If a metric family returned by the injection hook already exists (with
the same name), then its metrics are simply merged into that metric
family. With enabled collect-time checks, even uniqueness is checked,
but in general, things stay the same that the caller is responsible to
ensure metric consistency.

This fixes https://github.com/prometheus/pushgateway/issues/27 .
2015-03-15 16:34:31 +01:00
Björn Rabenstein f5ccf204b7 Merge pull request #95 from prometheus/beorn7/fixes
Fix two bugs (see commit descriptions).
2015-03-15 16:34:10 +01:00
beorn7 715be73ac9 Return NaN when summaries have no observations yet.
Also, properly handle decay upon Write().

This fixes https://github.com/prometheus/client_golang/issues/85 .
2015-03-15 16:33:56 +01:00
beorn7 7af92a21b3 Fix the consumption library link.
This fixes https://github.com/prometheus/client_golang/issues/92 .
2015-03-15 12:50:26 +01:00
Julius Volz 1cf6d4b964 Merge pull request #94 from prometheus/release-0.3.2
Release client_golang 0.3.2.
2015-03-11 18:03:21 +01:00
Julius Volz b9d77a9397 Release client_golang 0.3.2. 2015-03-11 17:42:47 +01:00
Julius Volz 8c63c28aef Merge pull request #93 from prometheus/fix-cow-set
Fix pointer receiver in COWMetric.Set().
2015-03-10 23:41:37 +01:00
Julius Volz a68f44ff35 Fix pointer receiver in COWMetric.Set(). 2015-03-10 20:21:25 +01:00
Björn Rabenstein e5098ac1ff Merge pull request #91 from prometheus/beorn7/license-cleanup
Add licenses of vendored code left out by godep.
2015-03-04 17:00:14 +01:00
beorn7 4aa58b9029 Add licenses of vendored code left out by godep.
As it looks, `godep update ...` will preserve the files.

Obviously, if you blow away everything and run a `godep save ...` from
scratch, those files will be missing again. A `godep save` to add new
dependencies without blowing away the `Godeps` directory should work
fine, though.
2015-03-04 15:36:21 +01:00
Björn Rabenstein f688948916 Merge pull request #90 from prometheus/beorn7/release
Cut v0.3.1.
2015-03-04 13:35:00 +01:00
Björn Rabenstein b6416bc5c2 Merge pull request #89 from prometheus/beorn7/performance
Switch to sync.Pool.
2015-03-04 13:34:34 +01:00
beorn7 9527eaa080 Cut v0.3.1. 2015-03-04 12:49:44 +01:00
beorn7 330e2c938a Use go1.4.2 in Makefile. 2015-03-04 12:41:07 +01:00
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
beorn7 1002745d7b Fix whitespace. 2015-03-03 18:41:06 +01:00
Björn Rabenstein dbbb6c9e1d Merge pull request #88 from prometheus/beorn7/release
Cut release 0.3.0.
2015-03-03 18:23:59 +01:00
beorn7 9b11ef161e Cut release 0.3.0. 2015-03-03 18:17:26 +01:00
Björn Rabenstein cbe3ef2442 Merge pull request #87 from prometheus/beorn7/fingerprint
Unify fingerprinting aka signature calculation.
2015-03-03 18:03:08 +01:00