Just so everyone has a chance to provide feedback before the official release, the team behind monitoring system and time series database Prometheus just pushed out two v2.7 candidates for closer inspection.
The main additions to the upcoming release are subqueries for Prometheus’ functional expression language PromQL and support for disk size-based retention. The first was brought up in 2015 and reached some sort of consensus at the Prometheus Dev Summit in 2018. Subqueries are thought to help with range selection and result in range vectors. They should be added to the end of instant queries and follow the syntax of [<range>:<resolution].
Retention, which takes into account the data size on a disk, is still in its experimental stage, so chances are users are going to still see some change happening to the feature. Along with it comes a storage.tsdb.retention.time flag, making storage.tsdb.retention superfluous which led to its deprecation. If used, ops folks will now see a warning, though breakage shouldn’t happen until Prometheus 3.0.
Speaking of flags, Prometheus 2.7 will be equipped with a CORS origin one to disable the protocol if needed and configure origins (even just one, which wasn’t an option before). CORS is short for Cross-Origin Resource Sharing and describes a protocol which is made up of headers indicating whether a response can be shared between origins.
There have also been a few enhancements regarding service discovery for different services. For example it now includes tagged address in the Consul discovery metadata, service external IP and external name for the the Kubernetes one, as well as tenant and subscription IDs for Azure. Azure Service Discovery (SD) supports managed identity authentication once v2.7 is installed and OpenStack SD can work with authentication based on application credentials.
Additional information on included bugfixes can be found in the release notes for RC0. RC1 was mainly needed to roll back the Dockerfile to version 2.5 to get rid off some breaking changes its successor introduced.
Prometheus was originally built by music streaming service SoundCloud in 2012. It was the second project to join the Cloud Native Computing Foundation (2016), which also fosters container orchestrator Kubernetes, and graduate its incubation process (2018). Cloud platform provider DigitalOcean, and telecommunications company Ericsson are only a few of the companies that use Prometheus to monitor their services.