armature-metrics

Crates.ioarmature-metrics
lib.rsarmature-metrics
version0.1.1
created_at2025-12-26 21:55:30.914196+00
updated_at2025-12-29 01:18:39.784098+00
descriptionPrometheus metrics and monitoring for Armature
homepagehttps://pegasusheavy.github.io/armature
repositoryhttps://github.com/pegasusheavy/armature
max_upload_size
id2006326
size93,959
Joseph R. Quinn (quinnjr)

documentation

README

armature-metrics

Prometheus metrics and monitoring for the Armature framework.

Features

  • Prometheus Format - Standard metrics endpoint
  • Auto Instrumentation - HTTP request metrics
  • Custom Metrics - Counters, gauges, histograms
  • Labels - Dimensional metrics
  • Push Gateway - Push metrics to Prometheus

Installation

[dependencies]
armature-metrics = "0.1"

Quick Start

use armature_metrics::{Metrics, Counter, Histogram};

// Create metrics
let request_counter = Counter::new("http_requests_total", "Total HTTP requests");
let response_time = Histogram::new("http_response_time_seconds", "Response time");

// Record metrics
request_counter.inc();
response_time.observe(0.042);

// Expose /metrics endpoint
let app = Application::new()
    .with_middleware(MetricsMiddleware::new())
    .get("/metrics", metrics_handler());

Auto Instrumentation

let app = Application::new()
    .with_middleware(MetricsMiddleware::auto());

Automatically records:

  • http_requests_total - Request count by method, path, status
  • http_request_duration_seconds - Request duration histogram
  • http_requests_in_flight - Current active requests

License

MIT OR Apache-2.0

Commit count: 0

cargo fmt