For a library for collecting Rust application metrics, the first results are open-telemetry/opentelemetry-rust (This is the official Rust implementation of the OpenTelemetry standard, providing a comprehensive framework for instrumenting, collecting, and exporting metrics with full support for asynchronous runtimes and Prometheus exposition), metrics-rs/metrics (This library provides a high-performance, asynchronous-ready framework for instrumenting Rust applications with multi-dimensional metrics and supports Prometheus exposition through dedicated exporter crates) and tokio-rs/tracing (This is a comprehensive instrumentation and telemetry framework that provides the necessary infrastructure for collecting and routing diagnostic data in asynchronous Rust applications, though it requires additional exporter crates to specifically handle Prometheus exposition). tikv/rust-prometheus and prometheus/node_exporter round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “best rust metrics libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
The Rust OpenTelemetry implementation
This is the official Rust implementation of the OpenTelemetry standard, providing a comprehensive framework for instrumenting, collecting, and exporting metrics with full support for asynchronous runtimes and Prometheus exposition.
This project is a unified observability framework for Rust applications, designed to capture, aggregate, and report performance telemetry. It provides a comprehensive toolkit for instrumenting code to track counters, gauges, and histograms, enabling developers to monitor application health and operational performance through a standardized interface. The library distinguishes itself by decoupling instrumentation sites from specific backend implementations through a global registry and trait-based abstractions. This architecture allows developers to swap telemetry exporters at runtime without
This library provides a high-performance, asynchronous-ready framework for instrumenting Rust applications with multi-dimensional metrics and supports Prometheus exposition through dedicated exporter crates.
This project is a structured tracing framework for Rust that serves as an async-aware instrumentation library and telemetry data collector. It provides a structured logging facade and the tools necessary to record, filter, and route event-based diagnostic data from both standard applications and embedded systems. The framework distinguishes itself through a core implementation that supports bare-metal and no-standard-library environments without requiring a dynamic memory allocator. It specifically handles the complexities of asynchronous workflows by propagating diagnostic contexts across fu
This is a comprehensive instrumentation and telemetry framework that provides the necessary infrastructure for collecting and routing diagnostic data in asynchronous Rust applications, though it requires additional exporter crates to specifically handle Prometheus exposition.
This library is an instrumentation framework for Rust applications designed to record and expose performance metrics compatible with the Prometheus monitoring system. It provides tools for tracking custom application state and host-level system resource usage, such as CPU and memory consumption, to ensure operational visibility. The framework is built for high-throughput environments, utilizing thread-local storage and atomic operations to minimize synchronization overhead during data collection. It leverages compile-time metric definitions and static typing to eliminate dynamic lookups, ensu
This library provides a comprehensive set of tools for instrumenting Rust applications with Prometheus-compatible metrics, including support for multi-dimensional labels and standard metric types.
Node exporter is a system performance monitor that functions as a background service for Unix-like operating systems. It gathers real-time hardware and kernel telemetry, providing granular visibility into resource utilization such as CPU, memory, disk, and network interface statistics. The tool operates as a collector-based agent that retrieves data directly from kernel interfaces and the operating system filesystem. It exposes these metrics through a lightweight web server using a pull-based model, where external monitoring systems periodically poll the endpoint for current state snapshots.
This is a standalone system monitoring agent written in Go rather than a Rust-native library or framework for instrumenting your own application code.
Graphite-web is a time-series monitoring platform that stores numeric metric data in fixed-size Whisper database files, ingests metrics over a plaintext TCP protocol, and renders on-demand graphs from stored data. It provides a tag-based metric query engine for flexible data organization and retrieval, and includes a custom dashboard builder that assembles multiple time-series graphs into a single web view for consolidated monitoring. The platform distinguishes itself through its URL-driven metric retrieval system, which allows fetching rendered graph images or raw data by constructing HTTP r
This is a full-stack time-series database and monitoring platform rather than a Rust-native library for instrumenting and exporting metrics from within an application.
Zipkin is an open-source distributed tracing system designed to collect, store, and visualize timing data across complex service architectures. It provides a platform for monitoring request lifecycles, enabling developers to identify latency bottlenecks and performance issues by tracking operations as they move through heterogeneous service environments. The system distinguishes itself through a standardized data model and a pluggable storage architecture that supports various backend databases. It utilizes sampling strategies to manage telemetry volume and employs asynchronous collection met
Zipkin is a distributed tracing system for monitoring request lifecycles rather than a library for collecting and exporting application metrics like counters or gauges.
Flower is a monitoring and administration tool for Celery task queues. It provides a real-time web dashboard and a REST API to monitor distributed task clusters, manage worker instances, and observe message broker health. The project distinguishes itself by offering centralized control over the task lifecycle, allowing users to trigger, revoke, or terminate tasks and apply execution rate limits. It also includes a Prometheus metrics exporter to surface internal performance and status data for external monitoring and alerting systems. The tool covers a broad range of observability and managem
This is a monitoring and administration dashboard for Celery task queues rather than a general-purpose Rust metrics instrumentation library, though it does include a Prometheus exporter for its own internal data.
AgentOps is an observability platform and developer toolkit for monitoring the execution, performance, and reliability of autonomous agents powered by large language models. It serves as a system for tracking AI agent behavior, debugging complex workflows, and benchmarking model performance. The platform is distinguished by its ability to visualize multi-agent workflows through execution path graphing and session replays. It provides specific tools for calculating financial spend across various language model providers and supports a self-hosted observability stack for users who require full
This is an observability platform specifically tailored for monitoring AI agent workflows and LLM performance, rather than a general-purpose metrics library for instrumenting and exporting standard application metrics.
Granian is a Rust-based HTTP server written specifically to serve Python web applications. It supports the three major Python gateway interfaces—ASGI for asynchronous apps, WSGI for synchronous apps, and RSGI for async requests—while also handling HTTP/1.1, HTTP/2, and WebSocket connections through automatic protocol negotiation. Architecturally, Granian uses a multiprocess worker model that isolates requests across CPU cores and provides configurable threadpool-limited concurrency to control backpressure per worker. It includes built-in Prometheus metrics exposition for connection counts and
Granian is a high-performance HTTP server for Python applications that includes built-in Prometheus metrics for its own internal operations, rather than a general-purpose library for instrumenting custom application code.
WatchYourLAN is a self-hosted network discovery and monitoring tool written in Go. It scans local network interfaces using ARP requests to detect connected devices, tracks their online and offline status over time, and identifies when new or previously unseen hosts appear on the network. The application stores host data and connection history in either SQLite or PostgreSQL, and can export metrics to InfluxDB or expose a Prometheus endpoint for long-term storage and visualization in dashboards like Grafana. The tool provides a REST API for programmatic management of monitored hosts, including
This is a network monitoring application rather than a library or framework for instrumenting your own Rust code, though it does provide a Prometheus endpoint for its own internal metrics.
Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network
Vector is a high-performance observability data pipeline and router for collecting and forwarding telemetry, rather than a library or framework for instrumenting application code with metrics.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| open-telemetry/opentelemetry-rust | 2.6K | Rust | Apache-2.0 | |
| metrics-rs/metrics | 1.4K | Rust | mit | |
| 6.8K |
| Rust |
| MIT |
| tikv/rust-prometheus | 1.2K | Rust | Apache-2.0 |
| prometheus/node_exporter | 13.2K | Go | apache-2.0 |
| graphite-project/graphite-web | 6.1K | JavaScript | apache-2.0 |
| openzipkin/zipkin | 17.4K | Java | Apache-2.0 |
| mher/flower | 7.2K | Python | NOASSERTION |
| agentops-ai/agentops | 5.7K | Python | MIT |
| emmett-framework/granian | 5.1K | Rust | bsd-3-clause |