Skip to content
Prev Previous commit
Next Next commit
Mention cardinality and standardization
  • Loading branch information
emschwartz committed Jun 6, 2023
commit 638aba131c4ae0e8326cf0e15fbb58cc3ce146c3
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@
[![Crates.io](https://img.shields.io/crates/v/autometrics.svg)](https://crates.io/crates/autometrics)
[![Discord Shield](https://discordapp.com/api/guilds/950489382626951178/widget.png?style=shield)](https://discord.gg/kHtwcH8As9)

Autometrics provides a [macro](https://docs.rs/autometrics/latest/autometrics/attr.autometrics.html) that makes it trivial to instrument any function with the most useful metrics: request rate, error rate, and latency.
Autometrics provides a macro that makes it trivial to instrument any function with the most useful metrics: request rate, error rate, and latency.

Autometrics then uses your function details to generate powerful Prometheus queries that help you identify and debug issues in production.

It is a thin layer on top of existing Prometheus and OpenTelemetry libraries that produces standardized metrics and uses this standardization to give lots of benefits out of the box:

## Benefits

- [✨ `#[autometrics]`](https://docs.rs/autometrics/latest/autometrics/attr.autometrics.html) macro instruments any function or `impl` block to add granular metrics, without you having to think about what is worth tracking
- [✨ `#[autometrics]`](https://docs.rs/autometrics/latest/autometrics/attr.autometrics.html) macro instruments any function or `impl` block to add useful metrics, without you having to think about what is worth tracking
- 💡 Writes Prometheus queries so you can understand your metrics without being a PromQL expert
- 🔗 Injects links to live Prometheus charts directly into each function's doc comments
- [🔍 Identify commits](https://docs.rs/autometrics/latest/autometrics/#identifying-faulty-commits-with-the-build_info-metric) that introduced errors or increased latency
- [📊 Grafana dashboards](https://github.com/autometrics-dev/autometrics-shared#dashboards) work without configuration to visualize the performance of functions & [SLOs](https://docs.rs/autometrics/latest/autometrics/objectives/index.html)
- ⚖️ Function-level metrics are granular without [exploding cardinality](https://blog.cloudflare.com/how-cloudflare-runs-prometheus-at-scale/#metrics-cardinality)
- 📏 Standardizing metrics across services and teams improves debugging
- [⚡ Minimal runtime overhead](#benchmarks)

## Advanced Features
Expand Down