- [FEATURE] Add
WriteToTextfile
function to facilitate the creation of *.prom files for the textfile collector of the node exporter. #489 - [ENHANCEMENT] More descriptive error messages for inconsistent label cardinality. #487
- [ENHANCEMENT] Exposition: Use a GZIP encoder pool to avoid allocations in high-frequency scrape scenarios. #366
- [ENHANCEMENT] Exposition: Streaming serving of metrics data while encoding. #482
- [ENHANCEMENT] API client: Add a way to return the body of a 5xx response. #479
- [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 gaugego_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
andhttp.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
- [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.
- [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.
- [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.
- [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.
- [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.
- [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.
- [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).
- [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.
- [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.
- [CLEANUP] Introduced semantic versioning and changelog. From now on, changes will be reported in this file.