A number of memory and performance improvements have been made around ingestion. You can expect reduced CPU usage, up to 33% reduced RAM usage and smaller faster checkpoints. The new lower bound on RAM is around 2.6kB per chunk, with RAM usage now stabilising 6 or so hours after local memory chunks are filled. These changes have been explored further in recent posts.
In terms of introspection, a variety of new metrics have been added to Prometheus itself around persistence, storage and the query engine. HTTP endpoints were added to dump all targets and alertmanagers, and the current working directory is now on the status page.
Relabelling added the
labeldrop actions. These allow for dropping of labels via regex, which is useful for certain binaries which pollute their metrics with large numbers of undesirable labels.
Speaking of undesirables,
scrape_config has a new
sample_limit option. If the number of samples that would be ingested from a target exceeds this, the scrape will be treated as failed. This is intended as an emergency safety valve in case there's a sudden spike in samples, such as if customer email addresses were added as a label. To help manage this the
scrape_samples_post_metric_relabeling metric joins the existing
Discovery for Joyent Triton has been added.
And the last notable change is that Prometheus finally has a favicon!
There’s also a variety of smaller fixes and improvements, see the release notes for full details.
Want help sizing Prometheus? Contact us.