Prometheus 2.3.0 is now out, following on from 2.2.0 back in March with several fixes and improvements.

The big changes in this release are performance related. I made significant changes to how PromQL is evaluated, which can result in a 31-64% reduction in CPU and 55-99% reduction in memory allocations for common dashboard queries. In addition I changed the JSON library used for encoding responses, saving 40% of CPU there.

If you're using the commercial Marathon product with bearer tokens, beware that the field names have changed. On the plus side all the usual HTTP options available elsewhere are now available for Marathon SD. EC2 and Consul SD now allow use of the built-in filtering of those technologies, which is nothing you couldn't do with relabelling but it is useful for performance. Kubernetes and GCE SD gained additional metadata. Anywhere you could specify a basic auth password, you can now have that password read from a file.

There’s also a number of improvements, bug fixes and other changes, see the release notes for more detail.

Wondering when and how to upgrade to Prometheus 2.x? Contact us.