NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1353 most downloaded on crates.io
A metrics-compatible exporter for sending metrics to Prometheus.
Last release 5 months ago
30 Apr 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 29 of 29 stable releases
3 versions withdrawn
withdrawn after publishing
6 years old
42 releases · first in 2020
One column per quarter.
chore: Release metrics-exporter-prometheus version 0.18.3
chore: Release metrics-exporter-prometheus version 0.18.3
metrics dependency constraint to ^0.24.5 to avoid build failures when an older
metrics 0.24.x is locked. (#692)New PrometheusHandle::render_protobuf_to_write method to render the Protocol Buffers payload directly into a Write implementation.
PrometheusHandle::render_protobuf_to_write method to render the Protocol Buffers payload
directly into a Write implementation. (#661)evmap, eliminating writer contention with the rendering
hot path. (#672)PrometheusRecorder uses Key::to_retained() for more efficient long-lived key storage.
(#688)write! in write_metric_line for a small rendering perf improvement.
(#658)Fixed a bug where native histograms were incorrectly skipped when serialized the Protocol Buffers payload.
Users should prefer this going forward, and set_enable_unit_suffix is deprecated and will be removed in a future release in favor of with_recommended_…
with_recommended_naming to PrometheusBuilder, which when set to true will use the recommended naming
convention for Prometheus metrics: suffixing counters with _total and ensuring unit suffixes are present. Users
should prefer this going forward, and set_enable_unit_suffix is deprecated and will be removed in a future release
in favor of with_recommended_naming. (#596)Accept header in requests. Additionally, a
new method, PrometheusHandle::render_protobuf, has been added to render metrics in this format, similar to
PrometheusHandle::render. (#602)LabelSet, which provides a wrapper around label key/value pairs to ensure consistent sanitization.
(#605)push-gateway-no-tls-provider, to allow enabling push gateway support without including a
default TLS provider via rustls. Users enabling this flag must install a default TLS provider for rustls via
rustls::crypto::CryptoProvider::install_default.
(#607)PrometheusBuilder::set_native_histogram_for_metric. Native histograms are only rendered when the
Protocol Buffers-based scrape format is in use. (#610)render_to_write) to PrometheusHandle that allows writing directly to a Write implementation.
(#641)render_to_write
to be roughly constant memory usage regardless of the overall number of metrics being rendered.
(#641)_total suffix for counters was not being appended to the HELP or TYPE lines for counters.
(#597)### Changed - Update metrics-util to 0.20.
metrics-util to 0.20.Apply unit suffixes in the correct portion of metric names when unit suffixing is enabled.
Added new flag, use_http_post_method, to PrometheusBuilder::with_push_gateway, to allow changing the HTTP method used for pushing from PUT to POST. Th
rand to 0.9. (#556)thiserror to 2.0. (#572)use_http_post_method, to PrometheusBuilder::with_push_gateway, to allow changing the HTTP method
used for pushing from PUT to POST. This enables usage with systems like Vector which don't natively support PUT.
(#574)Fixed a bug where the configurable unit suffix was not properly applied to the "sum" and "count" lines for histograms. The prior release will be yanke
Updated the crate-level documentation, and the documentation for PrometheusBuilder::build_recorder and PrometheusBuilder::install_recorder, to call ou
PrometheusBuilder::build_recorder and
PrometheusBuilder::install_recorder, to call out the requirements around running upkeep periodically.
(#537)metrics-util.Added Debug derive to numerous types.
Republishing 0.15.2 as 0.15.3 to fix an incorrect publish.
Republishing 0.15.2 as 0.15.3 to fix an incorrect publish.
Added support to use a UDS listener for the HTTP gateway mode.
### Changed - Switch to rustls.
rustls. (#489)### Changed - Bump MSRV to 1.70.0.
Users can now configure the number of buckets, and bucket widths, for rolling summaries.
A new scrape endpoint path, /health, which returns a a basic response to indicate endpoint health.
Support for using HTTPS in Push Gateway mode.
Fixed overflow/underflow panic with time moving backwards
Support for specifying a username/password for HTTP Basic Authentication when pushing to a Push Gateway.
Switch to metrics-exposed version of AtomicU64.
metrics-exposed version of AtomicU64.Aggregated summaries are now rolling, allowing oldering data points to expire and quantile values to reflect the recent past rather than the lifetime
Aggregated summaries are now rolling, allowing oldering data points to expire and quantile values to reflect the recent past rather than the lifetime of a histogram. (#306)
They have a default width of three buckets, with each bucket being 20 seconds wide. This means only the last 60 seconds of a histogram -- in 20 second granularity -- will contribute to the quantiles emitted.
We'll expose the ability to tune these values in the future.
Switched to using portable_atomic for 64-bit atomics on more architectures.
(#313)
In some cases, metric names were being "sanitized" when they were already valid. (#290, #296)
New top-level module, formatting, which exposes many of the helper methods used to sanitize and render the actual Prometheus exposition format.
formatting, which exposes many of the helper methods used to sanitize and
render the actual Prometheus exposition format. (#285)New builder method, PrometheusBuilder::install_recorder, which builds and installs the recorder and returns a PrometheusHandle that can be used to int
PrometheusBuilder::install_recorder, which builds and installs the
recorder and returns a PrometheusHandle that can be used to interact with the recorder.metrics.tokio-exporter feature flag to http-listener.PrometheusBuilder::build to build_recorder.PrometheusBuilder::build_with_exporter to build.InstallError is now BuildError, and contains many more variants with hopefully) better error
messages for understanding when something went wrong.Calling PrometheusBuilder::install inside a Tokio runtime will spawn the exporter on that runtime rather than spawning a new runtime.
PrometheusBuilder::install inside a Tokio runtime will spawn the exporter on that
runtime rather than spawning a new runtime. (#251)Simple release to bump dependencies.
Support for pushing to a Push Gateway.
PrometheusBuilder::add_allowed, which enables the exporter to be configured with a list of IP addresses or subnets that are allowed to connect. By def
PrometheusBuilder::add_allowed, which enables the exporter to be configured with a
list of IP addresses or subnets that are allowed to connect. By default, no restrictions
are enforced.Bumped metrics dependency to 0.15 and updated the necessary APIs.
metrics dependency to 0.15 and updated the necessary APIs.Bumped metrics dependency to 0.14.
metrics dependency to 0.14.Switched from MetricKind for MetricKindMask for PrometheusBuilder::idle_timeout.
MetricKind for MetricKindMask for PrometheusBuilder::idle_timeout.### Added - Genesis of the crate.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →