// the find
autometrics-dev/autometrics-rs
Easily add metrics to your code that actually help you spot and debug issues in production. Built on Prometheus and OpenTelemetry.
A proc-macro that instruments Rust functions with request rate, error rate, and latency metrics automatically, then generates the Prometheus queries for you. Targets teams that want function-level observability without deciding what to measure or how to write PromQL. The project is now abandoned — the README says so upfront.
The macro-based approach means zero boilerplate at the call site: one annotation and you get RED metrics plus pre-written Prometheus query links injected into doc comments. Supporting four different metrics backends (opentelemetry, prometheus, prometheus-client, metrics) via feature flags is genuinely useful for teams already committed to one. The SLO objectives API lets you define error-rate and latency targets in code next to the function, which is a better place for that contract than a separate config file. Exemplar support to bridge metrics and traces is there and works without extra instrumentation.
Abandoned as of the README's own admission — no active maintenance means dependency rot and no fixes if a metrics backend breaks a semver-minor API. The version-pinning requirement for the shared metrics backend (you must use the exact same crate version as autometrics internally or metrics silently disappear) is a real foot-gun in a monorepo or when upgrading deps. Function-level cardinality is presented as a feature but 'instrument all pub functions' will blow up cardinality on services with many distinct function names and high-volume label combinations. The generated Prometheus links are hardcoded to localhost which only works during local development, making the doc-comment integration useless in any real deployment without extra tooling.