Dear Prometheans,
I’m happy to announce the final release of the Prometheus server v2.20.0.
This release has an impressive list of changelog entries, apparently the longest since v2.6.0.
The highlight is probably the love that service discovery has received, in particular the addition of native Docker Swarm and DigitalOcean SD.
I also like the new group aggregator, which always yields a value of 1, so that you only use it if you are only interested in the labels. So far, you could use any other aggregator as a proxy, but the new operator expresses your intention better for the human reader of your PromQL expression, and it is even (in theory at least) cheaper to execute for Prometheus.
A bunch of optimizations here and there have resulted in overall faster query execution.
Note the minor metric changes for remote storage and that WAL compression is now the default behavior. (WAL compression was introduced in v2.11 as an opt-in. By now, we are confident that it should be used by default, but if you have reasons not to, you can still use the flag --no-storage.tsdb.wal-compression to disable it. Should you ever need to downgrade to v2.10 or earlier (really?), you need to delete the WAL, if it is compressed.)
Enjoy!
2.20.0 / 2020-07-22
This release changes WAL compression from opt-in to default. WAL compression will prevent a downgrade to v2.10 or earlier without deleting the WAL. Disable WAL compression explicitly by setting the command line flag --no-storage.tsdb.wal-compression if you require downgrading to v2.10 or earlier.
- [CHANGE] promtool: Changed rule numbering from 0-based to 1-based when reporting rule errors. #7495
- [CHANGE] Remote read: Added
prometheus_remote_storage_read_queries_total counter and prometheus_remote_storage_read_request_duration_seconds histogram, removed prometheus_remote_storage_remote_read_queries_total counter.
- [CHANGE] Remote write: Added buckets for longer durations to
prometheus_remote_storage_sent_batch_duration_seconds histogram.
- [CHANGE] TSDB: WAL compression is enabled by default. #7410
- [FEATURE] PromQL: Added
group() aggregator. #7480
- [FEATURE] SD: Added Docker Swarm SD. #7420
- [FEATURE] SD: Added DigitalOcean SD. #7407
- [FEATURE] SD: Added Openstack config option to query alternative endpoints. #7494
- [ENHANCEMENT] Configuration: Exit early on invalid config file and signal it with exit code 2. #7399
- [ENHANCEMENT] PromQL:
without is now a valid metric identifier. #7533
- [ENHANCEMENT] PromQL: Optimized regex label matching for literals within the pattern or as prefix/suffix. #7453 #7503
- [ENHANCEMENT] promtool: Added time range parameters for labels API in promtool. #7463
- [ENHANCEMENT] Remote write: Include samples waiting in channel in pending samples metric. Log number of dropped samples on hard shutdown. #7335
- [ENHANCEMENT] Scrape: Ingest synthetic scrape report metrics atomically with the corresponding scraped metrics. #7562
- [ENHANCEMENT] SD: Reduce timeouts for Openstack SD. #7507
- [ENHANCEMENT] SD: Use 10m timeout for Consul watches. #7423
- [ENHANCEMENT] SD: Added AMI meta label for EC2 SD. #7386
- [ENHANCEMENT] TSDB: Increment WAL corruption metric also on WAL corruption during checkpointing. #7491
- [ENHANCEMENT] TSDB: Improved query performance for high-cardinality labels. #7448
- [ENHANCEMENT] UI: Display dates as well as timestamps in status page. #7544
- [ENHANCEMENT] UI: Improved scrolling when following hash-fragment links. #7456
- [ENHANCEMENT] UI: React UI renders numbers in alerts in a more human-readable way. #7426
- [BUGFIX] API: Fixed error status code in the query API. #7435
- [BUGFIX] PromQL: Fixed
avg and avg_over_time for NaN, Inf, and float64 overflows. #7346
- [BUGFIX] PromQL: Fixed off-by-one error in
histogram_quantile. #7393
- [BUGFIX] promtool: Support extended durations in rules unit tests. #6297
- [BUGFIX] Scrape: Fix undercounting for
scrape_samples_post_metric_relabeling in case of errors. #7342
- [BUGFIX] TSDB: Don’t panic on WAL corruptions. #7550
- [BUGFIX] TSDB: Avoid leaving behind empty files in
chunks_head, causing startup failures. #7573
- [BUGFIX] TSDB: Fixed race between compact (gc, populate) and head append causing unknown symbol error. #7560
- [BUGFIX] TSDB: Fixed unknown symbol error during head compaction. #7526
- [BUGFIX] TSDB: Fixed panic during TSDB metric registration. #7501
- [BUGFIX] TSDB: Fixed
--limit command line flag in tsdb tool. #7430