Releases: prometheus/client_golang
0.9.0 / 2018-10-15
- [CHANGE] Go1.6 is no longer supported.
- [CHANGE] More refinements of the
Registry
consistency checks: Duplicated
labels are now detected, but inconsistent label dimensions are now allowed.
Collisions with the “magic” metric and label names in Summaries and
Histograms are detected now. #108 #417 #471 - [CHANGE] Changed
ProcessCollector
constructor. #219 - [CHANGE] Changed Go counter
go_memstats_heap_released_bytes_total
to gauge
go_memstats_heap_released_bytes
. #229 - [CHANGE] Unexported
LabelPairSorter
. #453 - [CHANGE] Removed the
Untyped
metric from direct instrumentation. #340 - [CHANGE] Unexported
MetricVec
. #319 - [CHANGE] Removed deprecated
Set
method fromCounter
#247 - [CHANGE] Removed deprecated
RegisterOrGet
andMustRegisterOrGet
. #247 - [CHANGE] API client: Introduced versioned packages.
- [FEATURE] A
Registerer
can be wrapped with prefixes and labels. #357 - [FEATURE] “Describe by collect” helper function. #239
- [FEATURE] Added package
testutil
. #58 - [FEATURE] Timestamp can be explicitly set for const metrics. #187
- [FEATURE] “Unchecked” collectors are possible now without cheating. #47
- [FEATURE] Pushing to the Pushgateway reworked in package
push
to support
many new features. (The old functions are still usable but deprecated.) #372
#341 - [FEATURE] Configurable connection limit for scrapes. #179
- [FEATURE] New HTTP middlewares to instrument
http.Handler
and
http.RoundTripper
. The old middlewares and the pre-instrumented/metrics
handler are (strongly) deprecated. #316 #57 #101 #224 - [FEATURE] “Currying” for metric vectors. #320
- [FEATURE] A
Summary
can be created without quantiles. #118 - [FEATURE] Added a
Timer
helper type. #231 - [FEATURE] Added a Graphite bridge. #197
- [FEATURE] Help strings are now optional. #460
- [FEATURE] Added
process_virtual_memory_max_bytes
metric. #438 #440 - [FEATURE] Added
go_gc_cpu_fraction
andgo_threads
metrics. #281 #277 - [FEATURE] Added
promauto
package with auto-registering metrics. #385 #393 - [FEATURE] Add
SetToCurrentTime
method toGauge
. #259 - [FEATURE] API client: Add AlertManager, Status, and Target methods. #402
- [FEATURE] API client: Add admin methods. #398
- [FEATURE] API client: Support series API. #361
- [FEATURE] API client: Support querying label values.
- [ENHANCEMENT] Smarter creation of goroutines during scraping. Solves memory
usage spikes in certain situations. #369 - [ENHANCEMENT] Counters are now faster if dealing with integers only. #367
- [ENHANCEMENT] Improved label validation. #274 #335
- [BUGFIX] Creating a const metric with an invalid
Desc
returns an error. #460 - [BUGFIX] Histogram observations don't race any longer with exposition. #275
- [BUGFIX] Fixed goroutine leaks. #236 #472
- [BUGFIX] Fixed an error message for exponential histogram buckets. #467
- [BUGFIX] Fixed data race writing to the metric map. #401
- [BUGFIX] API client: Decode JSON on a 4xx respons but do not on 204
responses. #476 #414
0.8.0 / 2016-08-17
- [CHANGE] Registry is doing more consistency checks. This might break
existing setups that used to export inconsistent metrics. - [CHANGE] Pushing to Pushgateway moved to package
push
and changed to allow
arbitrary grouping. - [CHANGE] Removed
SelfCollector
. - [CHANGE] Removed
PanicOnCollectError
andEnableCollectChecks
methods. - [CHANGE] Moved packages to the prometheus/common repo:
text
,model
,
extraction
. - [CHANGE] Deprecated a number of functions.
- [FEATURE] Allow custom registries. Added
Registerer
andGatherer
interfaces. - [FEATURE] Separated HTTP exposition, allowing custom HTTP handlers (package
promhttp
) and enabling the creation of other exposition mechanisms. - [FEATURE]
MustRegister
is variadic now, allowing registration of many
collectors in one call. - [FEATURE] Added HTTP API v1 package.
- [ENHANCEMENT] Numerous documentation improvements.
- [ENHANCEMENT] Improved metric sorting.
- [ENHANCEMENT] Inlined fnv64a hashing for improved performance.
- [ENHANCEMENT] Several test improvements.
- [BUGFIX] Handle collisions in MetricVec.
0.7.0 / 2015-07-27
- [CHANGE] Rename ExporterLabelPrefix to ExportedLabelPrefix.
- [BUGFIX] Closed gaps in metric consistency check.
- [BUGFIX] Validate LabelName/LabelSet on JSON unmarshaling.
- [ENHANCEMENT] Document the possibility to create "empty" metrics in
a metric vector. - [ENHANCEMENT] Fix and clarify various doc comments and the README.md.
- [ENHANCEMENT] - (Kind of) solve "The Proxy Problem" of http.InstrumentHandler.
- [ENHANCEMENT] Change responseWriterDelegator.written to int64.
0.6.0 / 2015-06-01
- [CHANGE] Rename process_goroutines to go_goroutines.
- [ENHANCEMENT] Validate label names during YAML decoding.
- [ENHANCEMENT] Add LabelName regular expression.
- [BUGFIX] Ensure alignment of struct members for 32-bit systems.
0.5.0 / 2015-05-06
- [BUGFIX] Removed a weakness in the fingerprinting aka signature code.
This makes fingerprinting slower and more allocation-heavy, but the
weakness was too severe to be tolerated. - [CHANGE] As a result of the above, Metric.Fingerprint is now returning
a different fingerprint. To keep the same fingerprint, the new method
Metric.FastFingerprint was introduced, which will be used by the
Prometheus server for storage purposes (implying that a collision
detection has to be added, too). - [ENHANCEMENT] The Metric.Equal and Metric.Before do not depend on
fingerprinting anymore, removing the possibility of an undetected
fingerprint collision. - [FEATURE] The Go collector in the exposition library includes garbage
collection stats. - [FEATURE] The exposition library allows to create constant "throw-away"
summaries and histograms. - [CHANGE] A number of new reserved labels and prefixes.
0.4.0 / 2015-04-08
- [CHANGE] Return NaN when Summaries have no observations yet.
- [BUGFIX] Properly handle Summary decay upon Write().
- [BUGFIX] Fix the documentation link to the consumption library.
- [FEATURE] Allow the metric family injection hook to merge with existing
metric families. - [ENHANCEMENT] Removed cgo dependency and conditional compilation of procfs.
- [MAINTENANCE] Adjusted to changes in matttproud/golang_protobuf_extensions.
0.3.2 / 2015-03-11
- [BUGFIX] Fixed the receiver type of COWMetric.Set(). This method is
only used by the Prometheus server internally. - [CLEANUP] Added licenses of vendored code left out by godep.
0.3.1 / 2015-03-04
- [ENHANCEMENT] Switched fingerprinting functions from own free list to
sync.Pool. - [CHANGE] Makefile uses Go 1.4.2 now (only relevant for examples and tests).
0.3.0 / 2015-03-03
This is the big one that changes fingerprinting. See below.
As long as you build the Prometheus server only with make
, nothing
can go wrong, as the client_golang
is vendored then. But if you
build from your own sources (with go build
), you will compile in
whatever you have checked out in client_golang
.
Version 0.12.0 of the Prometheus server will have a guard to not
accidentally run from a storage with the old fingerprinting.
- [CHANGE] Changed the fingerprinting for metrics. THIS WILL INVALIDATE ALL
PERSISTED FINGERPRINTS. IF YOU COMPILE THE PROMETHEUS SERVER WITH THIS
VERSION, YOU HAVE TO WIPE THE PREVIOUSLY CREATED STORAGE. - [CHANGE] LabelValuesToSignature removed. (Nobody had used it, and it was
arguably broken.) - [CHANGE] Vendored dependencies. Those are only used by the Makefile. If
client_golang is used as a library, the vendoring will stay out of your way. - [BUGFIX] Remove a weakness in the fingerprinting for metrics. (This made
the fingerprinting change above necessary.) - [FEATURE] Added new fingerprinting functions SignatureForLabels and
SignatureWithoutLabels to be used by the Prometheus server. These functions
require fewer allocations than the ones currently used by the server.
0.2.0 / 2015-02-23
client_golang 0.2.0 has been released, with the most prominent new feature being server-side histograms. (Documentations will be updated later today to explain usage.)
0.2.0 / 2015-02-23
- [FEATURE] Introduce new Histagram metric type.
- [CHANGE] Ignore process collector errors for now (better error handling
pending). - [CHANGE] Use clear error interface for process pidFn.
- [BUGFIX] Fix Go download links for several archs and OSes.
- [ENHANCEMENT] Massively improve Gauge and Counter performance.
- [ENHANCEMENT] Catch illegal label names for summaries in histograms.
- [ENHANCEMENT] Reduce allocations during fingerprinting.
- [ENHANCEMENT] Remove cgo dependency. procfs package will only be included if
both cgo is available and the build is for an OS with procfs. - [CLEANUP] Clean up code style issues.
- [CLEANUP] Mark slow test as such and exclude them from travis.
- [CLEANUP] Update protobuf library package name.
- [CLEANUP] Updated vendoring of beorn7/perks.
Early warning: The fingerprinting method has an embarrassing bug (#74), which will be fixed in v0.3.0, but that will obviously invalidate each and every persisted fingerprint. We thought long about a conversion path or allowing to continue with the old fingerprinting method but could not come up with anything feasible. So one more storage wipe is looming...