Releases: prometheus/prometheus
Releases · prometheus/prometheus
0.16.0rc2 / 2015-09-30
BREAKING CHANGES:
- [CHANGE] Renamed global.labels to global.external_labels
All changes:
- [BUGFIX] Fix high CPU usage on configuration reload
- [BUGFIX] Fix disappearing __params on configuration reload
- [CHANGE] Renamed global.labels to global.external_labels
- [BUGFIX] Make labelmap action available through configuration
- [ENHANCEMENT] Several flaky tests fixed
- [ENHANCEMENT] Switched to common routing package
- [BUGFIX] Fix direct access of protobuf fields
- [BUGFIX] Fix panic on Consul request error
- [ENHANCEMENT] Usage of more resilient metric decoder
- [BUGFIX] Redirect of graph endpoint for prefixed setups
0.16.0rc1 / 2015-09-18
BREAKING CHANGES:
- Release tarballs now contain the built binaries in a nested directory.
- The
hash_mod
relabeling action now uses MD5 hashes instead of FNV hashes to
achieve a better distribution. - The DNS-SD meta label
__meta_dns_srv_name
was renamed to__meta_dns_name
to reflect support for other record types thanSRV
. - The default full refresh interval for the file-based service discovery has been
increased from 30 seconds to 5 minutes. - In relabeling, parts of a source label that weren't matched by
the specified regular expression are no longer included in the replacement output. - Queries no longer interpolate between two data points. Instead, the resulting
value will always be the latest value before the evaluation query timestamp. - Regular expressions supplied via the configuration are now anchored to match
full strings instead of substrings. - Global labels are not appended upon storing time series anymore. Instead,
they are only appended when communicating with external systems
(Alertmanager, remote storages, federation). - The names and units of metrics related to remote storage sample appends have
been changed. - The experimental support for writing to InfluxDB has been updated to work
with InfluxDB 0.9.x. 0.8.x versions of InfluxDB are not supported anymore.
All changes:
- [CHANGE] Vendoring is now done via govendor instead of godep.
- [CHANGE] Change web UI root page to show the graphing interface instead of
the server status page. - [CHANGE] Append global labels only when communicating with external systems
instead of storing them locally. - [CHANGE] Change all regexes in the configuration to do full-string matches
instead of substring matches. - [CHANGE] Remove interpolation of vector values in queries.
- [CHANGE] For alert
SUMMARY
/DESCRIPTION
template fields, cast the alert
value tofloat64
to work with common templating functions. - [CHANGE] In relabeling, don't include unmatched source label parts in the
replacement. - [CHANGE] Change default full refresh interval for the file-based service
discovery from 30 seconds to 5 minutes. - [CHANGE] Rename the DNS-SD meta label
__meta_dns_srv_name
to
__meta_dns_name
to reflect support for other record types thanSRV
. - [CHANGE] Release tarballs now contain the binaries in a nested directory.
- [CHANGE] Update InfluxDB write support to work with InfluxDB 0.9.x.
- [FEATURE] Allow configuring TLS options in scrape configurations.
- [FEATURE] Add instrumentation around configuration reloads.
- [FEATURE] Add
bool
modifier to comparison operators to enable boolean
(0
/1
) output instead of filtering. - [FEATURE] In Zookeeper serverset discovery, provide
__meta_serverset_shard
label with the serverset shard number. - [FEATURE] Provide
__meta_consul_service_id
meta label in Consul service
discovery. - [FEATURE] Allow scalar expressions in recording rules to enable use cases
such as building constant metrics. - [FEATURE] Add
label_replace()
andvector()
query language functions. - [FEATURE] In Consul service discovery, fill in the
__meta_consul_dc
datacenter label from the Consul agent when it's not set in the Consul SD
config. - [FEATURE] Scrape all services upon empty services list in Consul service
discovery. - [FEATURE] Add
labelmap
relabeling action to map a set of input labels to a
set of output labels using regular expressions. - [FEATURE] Introduce
__tmp
as a relabeling label prefix that is guaranteed
to not be used by Prometheus internally. - [FEATURE] Kubernetes-based service discovery.
- [FEATURE] Marathon-based service discovery.
- [FEATURE] Support multiple series names in console graphs JavaScript library.
- [FEATURE] Allow reloading configuration via web handler at
/-/reload
. - [FEATURE] Updates to promtool to reflect new Prometheus configuration
features. - [FEATURE] Add
proxy_url
parameter to scrape configurations to enable use of
proxy servers. - [FEATURE] Add console templates for Prometheus itself.
- [FEATURE] Allow relabeling the protocol scheme of targets.
- [FEATURE] Add
predict_linear()
query language function. - [FEATURE] Support for authentication using bearer tokens, client certs, and
CA certs. - [FEATURE] Implement unary expressions for vector types (
-foo
,+foo
). - [FEATURE] Add console templates for the SNMP exporter.
- [FEATURE] Make it possible to relabel target scrape query parameters.
- [FEATURE] Add support for
A
andAAAA
records in DNS service discovery. - [ENHANCEMENT] Update vendored dependencies.
- [ENHANCEMENT] Add compression to more HTTP handlers.
- [ENHANCEMENT] Make -web.external-url flag help string more verbose.
- [ENHANCEMENT] Improve metrics around remote storage queues.
- [ENHANCEMENT] Use Go 1.5.1 instead of Go 1.4.2 in builds.
- [ENHANCEMENT] Update the architecture diagram in the
README.md
. - [ENHANCEMENT] Time out sample appends in retrieval layer if the storage is
backlogging. - [ENHANCEMENT] Make
hash_mod
relabeling action use MD5 instead of FNV to
enable better hash distribution. - [ENHANCEMENT] Better tracking of targets between same service discovery
mechanisms in one scrape configuration. - [ENHANCEMENT] Handle parser and query evaluation runtime panics more
gracefully. - [ENHANCEMENT] Add IDs to H2 tags on status page to allow anchored linking.
- [BUGFIX] Fix series file deletion behavior when purging archived series.
- [BUGFIX] Fix error checking and logging around checkpointing.
- [BUGFIX] Fix map initialization in target manager.
- [BUGFIX] Fix draining of file watcher events in file-based service discovery.
- [BUGFIX] Add
POST
handler for/debug
endpoints to fix CPU profiling. - [BUGFIX] Fix several flaky tests.
- [BUGFIX] Fix busylooping in case a scrape configuration has no target
providers defined. - [BUGFIX] Fix exit behavior of static target provider.
- [BUGFIX] Fix configuration reloading loop upon shutdown.
- [BUGFIX] Add missing check for nil expression in expression parser.
- [BUGFIX] Fix error handling bug in test code.
- [BUGFIX] Fix Consul port meta label.
- [BUGFIX] Fix lexer bug that treated non-Latin Unicode digits as digits.
- [CLEANUP] Update build environment scripts and Makefiles to work better with
native Go build mechanisms and new Go 1.5 experimental vendoring support. - [CLEANUP] Remove logged notice about 0.14.x configuration file format change.
- [CLEANUP] Move scrape-time metric label modification into SampleAppenders.
- [CLEANUP] Switch from
github.com/client_golang/model
to
github.com/common/model
and related type cleanups. - [CLEANUP] Switch from
github.com/client_golang/extraction
to
github.com/common/expfmt
and related type cleanups. - [CLEANUP] Exit Prometheus when the web server encounters a startup error.
- [CLEANUP] Remove non-functional alert-silencing links on alerting page.
- [CLEANUP] General cleanups to comments and code, derived from
golint
,
go vet
, or otherwise. - [CLEANUP] When entering crash recovery, tell users how to cleanly shut down
Prometheus. - [CLEANUP] Remove internal support for multi-statement queries in query engine.
- [CLEANUP] Update AUTHORS.md.
- [CLEANUP] Don't warn/increment metric upon encountering equal timestamps for
the same series upon append. - [CLEANUP] Resolve relative paths during configuration loading.
0.15.1 / 2015-07-27
- [BUGFIX] Fix vector matching behavior when there is a mix of equality and
non-equality matchers in a vector selector and one matcher matches no series. - [ENHANCEMENT] Allow overriding
GOARCH
andGOOS
in Makefile.INCLUDE. - [ENHANCEMENT] Update vendored dependencies.
0.15.0 / 2015-07-21
BREAKING CHANGES:
- Relative paths for rule files are now evaluated relative to the config file.
- External reachability flags (
-web.*
) consolidated. - The default storage directory has been changed from
/tmp/metrics
todata
in the local directory. - The
rule_checker
tool has been replaced bypromtool
with
different flags and more functionality. - Empty labels are now removed upon ingestion into the
storage. Matching empty labels is now equivalent to matching unset
labels (mymetric{label=""}
now matches series that don't have
label
set at all). - The special
__meta_consul_tags
label in Consul service discovery
now starts and ends with tag separators to enable easier regex
matching. - The default scrape interval has been changed back from 1 minute to
10 seconds.
ALL CHANGES:
- [CHANGE] Change default storage directory to
data
in the current
working directory. - [CHANGE] Consolidate external reachability flags (
-web.*
)into one. - [CHANGE] Deprecate
keeping_extra
modifier keyword, rename it to
keep_common
. - [CHANGE] Improve label matching performance and treat unset labels
like empty labels in label matchers. - [CHANGE] Remove
rule_checker
tool and add genericpromtool
CLI
tool which allows checking rules and configuration files. - [CHANGE] Resolve rule files relative to config file.
- [CHANGE] Restore default ScrapeInterval of 1 minute instead of 10 seconds.
- [CHANGE] Surround
__meta_consul_tags
value with tag separators. - [CHANGE] Update node disk console for new filesystem labels.
- [FEATURE] Add Consul's
ServiceAddress
,Address
, andServicePort
as
meta labels to enable setting a custom scrape address if needed. - [FEATURE] Add
hashmod
relabel action to allow for horizontal
sharding of Prometheus servers. - [FEATURE] Add
honor_labels
scrape configuration option to not
overwrite any labels exposed by the target. - [FEATURE] Add basic federation support on
/federate
. - [FEATURE] Add optional
RUNBOOK
field to alert statements. - [FEATURE] Add pre-relabel target labels to status page.
- [FEATURE] Add version information endpoint under
/version
. - [FEATURE] Added initial stable API version 1 under
/api/v1
,
including ability to delete series and query more metadata. - [FEATURE] Allow configuring query parameters when scraping metrics endpoints.
- [FEATURE] Allow deleting time series via the new v1 API.
- [FEATURE] Allow individual ingested metrics to be relabeled.
- [FEATURE] Allow loading rule files from an entire directory.
- [FEATURE] Allow scalar expressions in range queries, improve error messages.
- [FEATURE] Support Zookeeper Serversets as a service discovery mechanism.
- [ENHANCEMENT] Add circleci yaml for Dockerfile test build.
- [ENHANCEMENT] Always show selected graph range, regardless of available data.
- [ENHANCEMENT] Change expression input field to multi-line textarea.
- [ENHANCEMENT] Enforce strict monotonicity of time stamps within a series.
- [ENHANCEMENT] Export build information as metric.
- [ENHANCEMENT] Improve UI of
/alerts
page. - [ENHANCEMENT] Improve display of target labels on status page.
- [ENHANCEMENT] Improve initialization and routing functionality of web service.
- [ENHANCEMENT] Improve target URL handling and display.
- [ENHANCEMENT] New dockerfile using alpine-glibc base image and make.
- [ENHANCEMENT] Other minor fixes.
- [ENHANCEMENT] Preserve alert state across reloads.
- [ENHANCEMENT] Prettify flag help output even more.
- [ENHANCEMENT] README.md updates.
- [ENHANCEMENT] Raise error on unknown config parameters.
- [ENHANCEMENT] Refine v1 HTTP API output.
- [ENHANCEMENT] Show original configuration file contents on status
page instead of serialized YAML. - [ENHANCEMENT] Start HUP signal handler earlier to not exit upon HUP
during startup. - [ENHANCEMENT] Updated vendored dependencies.
- [BUGFIX] Do not panic in
StringToDuration()
on wrong duration unit. - [BUGFIX] Exit on invalid rule files on startup.
- [BUGFIX] Fix a regression in the
.Path
console template variable. - [BUGFIX] Fix chunk descriptor loading.
- [BUGFIX] Fix consoles "Prometheus" link to point to /
- [BUGFIX] Fix empty configuration file cases
- [BUGFIX] Fix float to int conversions in chunk encoding, which were
broken for some architectures. - [BUGFIX] Fix overflow detection for serverset config.
- [BUGFIX] Fix race conditions in retrieval layer.
- [BUGFIX] Fix shutdown deadlock in Consul SD code.
- [BUGFIX] Fix the race condition targets in the Makefile.
- [BUGFIX] Fix value display error in web console.
- [BUGFIX] Hide authentication credentials in config
String()
output. - [BUGFIX] Increment dirty counter metric in storage only if
setDirty(true)
is called. - [BUGFIX] Periodically refresh services in Consul to recover from
missing events. - [BUGFIX] Prevent overwrite of default global config when loading a
configuration. - [BUGFIX] Properly lex
\r
as whitespace in expression language. - [BUGFIX] Validate label names in JSON target groups.
- [BUGFIX] Validate presence of regex field in relabeling configurations.
- [CLEANUP] Clean up initialization of remote storage queues.
- [CLEANUP] Fix
go vet
andgolint
violations. - [CLEANUP] General cleanup of rules and query language code.
- [CLEANUP] Improve and simplify Dockerfile build steps.
- [CLEANUP] Improve and simplify build infrastructure, use go-bindata
for web assets. Allow building without git. - [CLEANUP] Move all utility packages into common
util
subdirectory. - [CLEANUP] Refactor main, flag handling, and web package.
- [CLEANUP] Remove unused methods from
Rule
interface. - [CLEANUP] Simplify default config handling.
- [CLEANUP] Switch human-readable times on web UI to UTC.
- [CLEANUP] Use
templates.TemplateExpander
for all page templates. - [CLEANUP] Use new v1 HTTP API for querying and graphing.
0.15.0rc3 / 2015-07-20
CHANGES COMPARED TO RC2
- [BUGFIX] Fix empty configuration file cases
- [BUGFIX] Restore legacy API scalar format
0.15.0rc2 / 2015-07-16
CHANGES COMPARED TO RC1
BREAKING CHANGES:
- Relative paths for rule files are now evaluated relative to the config file.
- External reachability flags (
-web.*
) consolidated.
ALL CHANGES:
- [BUGFIX] Fix chunk descriptor loading.
- [ENHANCEMENT] Enforce strict monotonicity of time stamps within a series.
- [CLEANUP] Fix
go vet
andgolint
violations. - [BUGFIX] Fix overflow detection for serverset config.
- [BUGFIX] Fix float to int conversions in chunk encoding, which were broken
for some architectures. - [BUGFIX] Fix a regression in the
.Path
console template variable. - [BUGFIX] Fix race conditions in retrieval layer.
- [BUGFIX] Fix value display error in web console.
- [ENHANCEMENT] Export build information as metric.
- [ENHANCEMENT] New dockerfile using alpine-glibc base image and make.
- [BUGFIX] Fix the race condition targets in the Makefile.
- [BUGFIX] Hide authentication credentials in config
String()
output. - [ENHANCEMENT] Refine v1 HTTP API output.
- [CHANGE] Resolve rule files relative to config file.
- [CHANGE] Consolidate external reachability flags (
-web.*
)into one. - [ENHANCEMENT] Add circleci yaml for Dockerfile test build.
- [BUGFIX] Zookeeper SD: Handle serverset node not existing.
- [ENHANCEMENT] Preserve alert state across reloads.
0.15.0rc1 / 2015-06-25
BREAKING CHANGES:
- The default storage directory has been changed from
/tmp/metrics
todata
in the local directory. - The
rule_checker
tool has been replaced bypromtool
with different flags and more functionality. - Empty labels are now removed upon ingestion into the storage. Matching empty labels is
now equivalent to matching unset labels (mymetric{label=""}
now matches
series that don't havelabel
set at all). - If you are using Consul for service discovery, it will now choose Consul's
ServiceAddress
field for the instance address instead of theAddress
field, if it is present. - The special
__meta_consul_tags
label in Consul service discovery now
starts and ends with tag separators to enable easier regex matching. - The default scrape interval has been changed back from 1 minute to 10 seconds.
ALL CHANGES:
- [ENHANCEMENT] Prettify flag help output even more.
- [CLEANUP] Use new v1 HTTP API for querying and graphing.
- [FEATURE] Add optional
RUNBOOK
field to alert statements. - [FEATURE] Add
hashmod
relabel action to allow for horizontal sharding of Prometheus servers. - [BUGFIX] Fix shutdown deadlock in Consul SD code.
- [BUGFIX] Periodically refresh services in Consul to recover from missing events.
- [CLEANUP] Improve and simplify Dockerfile build steps.
- [CLEANUP] Switch human-readable times on web UI to UTC.
- [ENHANCEMENT] Show original configuration file contents on status page instead of serialized YAML.
- [ENHANCEMENT] Improve UI of
/alerts
page. - [CLEANUP] Clean up initialization of remote storage queues.
- [CLEANUP] Use
templates.TemplateExpander
for all page templates. - [ENHANCEMENT] Improve target URL handling and display.
- [FEATURE] Add basic federation support on
/federate
. - [FEATURE] Add
honor_labels
scrape configuration option to not overwrite any labels exposed by the target. - [FEATURE] Allow configuring query parameters when scraping metrics endpoints.
- [ENHANCEMENT] README.md updates.
- [BUGFIX] Increment dirty counter metric in storage only if
setDirty(true)
is called. - [CHANGE] Remove
rule_checker
tool and add genericpromtool
CLI tool which allows checking rules and configuration files. - [CHANGE] Improve label matching performance and treat unset labels like empty labels in label matchers.
- [BUGFIX] Fix consoles "Prometheus" link to point to /
- [CHANGE] Change default storage directory to
data
in the current working directory. - [CHANGE] Use Consul's
ServiceAddress
instead ofAddress
as the instance address when the former is set. - [FEATURE] Add version information endpoint under
/version
. - [FEATURE] Support Zookeeper Serversets as a service discovery mechanism.
- [CLEANUP] Refactor main, flag handling, and web package.
- [FEATURE] Allow individual ingested metrics to be relabeled.
- [ENHANCEMENT] Always show selected graph range, regardless of available data.
- [ENHANCEMENT] Change expression input field to multi-line textarea.
- [ENHANCEMENT] Start HUP signal handler earlier to not exit upon HUP during startup.
- [ENHANCEMENT] Raise error on unknown config parameters.
- [CHANGE] Deprecate
keeping_extra
modifier keyword, rename it tokeep_common
. - [BUGFIX] Validate presence of regex field in relabeling configurations.
- [CLEANUP] Improve and simplify build infrastructure, use go-bindata for web assets. Allow building without git.
- [FEATURE] Allow scalar expressions in range queries, improve error messages.
- [ENHANCEMENT] Improve display of target labels on status page.
- [BUGFIX] Prevent overwrite of default global config when loading a configuration.
- [FEATURE] Add pre-relabel target labels to status page.
- [FEATURE] Added initial stable API version 1 under
/api/v1
, including ability to delete series and query more metadata. - [CLEANUP] General cleanup of rules and query language code.
- [CLEANUP] Remove unused methods from
Rule
interface. - [BUGFIX] Validate label names in JSON target groups.
- [CLEANUP] Simplify default config handling.
- [CHANGE] Surround
__meta_consul_tags
value with tag separators. - [ENHANCEMENT] Improve initialization and routing functionality of web service.
- [BUGFIX] Do not panic in
StringToDuration()
on wrong duration unit. - [BUGFIX] Exit on invalid rule files on startup.
- [BUGFIX] Properly lex
\r
as whitespace in expression language. - [FEATURE] Allow deleting time series via the new v1 API.
- [FEATURE] Allow loading rule files from an entire directory.
- [CHANGE] Restore default ScrapeInterval of 1 minute instead of 10 seconds.
- [CLEANUP] Move all utility packages into common
util
subdirectory. - [ENHANCEMENT] Updated vendored dependencies.
- [ENHANCEMENT] Other minor fixes.
0.14.0 / 2015-06-01
- [CHANGE] Configuration format changed and switched to YAML.
(See the provided migration tool.) - [ENHANCEMENT] Redesign of state-preserving target discovery.
- [ENHANCEMENT] Allow specifying scrape URL scheme and basic HTTP auth for non-static targets.
- [FEATURE] Allow attaching meaningful labels to targets via relabeling.
- [FEATURE] Configuration/rule reloading at runtime.
- [FEATURE] Target discovery via file watches.
- [FEATURE] Target discovery via Consul.
- [ENHANCEMENT] Simplified binary operation evaluation.
- [ENHANCEMENT] More stable component initialization.
- [ENHANCEMENT] Added internal expression testing language.
- [BUGFIX] Fix graph links with path prefix.
- [ENHANCEMENT] Allow building from source without git.
- [ENHANCEMENT] Improve storage iterator performance.
- [ENHANCEMENT] Change logging output format and flags.
- [BUGFIX] Fix memory alignment bug for 32bit systems.
- [ENHANCEMENT] Improve web redirection behavior.
- [ENHANCEMENT] Allow overriding default hostname for Prometheus URLs.
- [BUGFIX] Fix double slash in URL sent to alertmanager.
- [FEATURE] Add resets() query function to count counter resets.
- [FEATURE] Add changes() query function to count the number of times a gauge changed.
- [FEATURE] Add increase() query function to calculate a counter's increase.
- [ENHANCEMENT] Limit retrievable samples to the storage's retention window.
0.14.0rc3 / 2015-05-29
Merge pull request #748 from prometheus/fabxc/cut Cut 0.14.0rc3
0.14.0rc2 / 2015-05-23
Merge pull request #731 from prometheus/fabxc/cut-rc2 Cut v0.14.0rc2