Crates.io | metrics-runtime |
lib.rs | metrics-runtime |
version | 0.13.1 |
source | src |
created_at | 2019-07-30 21:22:14.627849 |
updated_at | 2020-07-21 01:52:30.317756 |
description | A batteries-included metrics library. |
homepage | https://github.com/metrics-rs/metrics |
repository | https://github.com/metrics-rs/metrics |
max_upload_size | |
id | 153062 |
size | 171,989 |
metrics is a batteries-included metrics library.
NOTE: All conversations and contributions to this project shall adhere to the Code of Conduct.
metrics-runtime
is the high-quality, batteries-included reference metrics runtime for the Metrics project.
This crate serves to provide support for all of the goals espoused by the project as a whole: a runtime that can be used with metrics
, support for interoperating with metrics-core
compatible observers and exporters. On top of that, it provides a deliberately designed API meant to help you quickly and easily instrument your application.
As operators of systems at scale, we've attempted to distill this library down to the core features necessary to successfully instrument an application and ensure that you succeed at providing observability into your production systems.
metrics-core
for composability at the observer/exporter level.Even as a reference runtime, metrics-runtime
still has extremely impressive performance. On modern cloud systems, you'll be able to ingest millions of samples per second per core with p99 latencies in the low hundreds of nanoseconds. While metrics-runtime
will not be low-enough overhead for every use case, it will meet or exceed the performance of other metrics libraries in Rust and in turn providing you wih fast and predictably low-overhead measurements under production workloads.
There are a few example benchmark programs in the crate that simulate basic workloads. These programs specifically do not attempt to fully simulate a production workload, in terms of number of metrics, frequency of ingestion, or dimensionality. They are brute force benchmarks designed to showcase throughput and latency for varied concurrency profiles under high write contention.