The team behind CNCF-graduated monitoring system Prometheus has pushed version 2.16 into the open, sharing UI progress and treating users to PromQL enhancements.
Prometheus now includes an option to log slow queries and recording rules similar to PostgreSQL’s log_min_duration_statement. The addition is meant to help users get to the bottom of performance issues.
The new UI finally features a way to use the local time zone on the /graph page, helping those not keen on doing mental conversions from UTC. The initial request for local timezone support just turned five, but wasn’t on the list of high priority items. It finally landed in Prometheus as part of the web UI’s conversion to the React framework, which first landed in the system in November 2019.
Since the move is still in progress, some of the added features, such as a rules page including “Xs ago” duration displays, don’t feel as new but rather signify another step towards UI completion. Meanwhile the replacing of the filtering togglers tab with checkboxes on the alerts page might be more notable to ops, making the UI more intuitive to use.
PromQL, the project’s query language, has been slightly improved as well, issuing more helpful error messages and allowing trailing commas in grouping options. It now also sports an absent_over_time function, a range variant of absent() which can be relevant for batch job alerts.
Other enhancements include support for line-column number for invalid rules output in the promtool, better performance for queries on recent data in TSDB, as well as reduced memory usage on reloads and metrics to track bytes and entries in the metadata cache in Scrape. The complete list of changes can be found in the project’s repository.