# observability-hello
This example documents the Milestone 3 observability flow.
```rust
use axum::{Router, middleware, routing::get};
use rs_zero::observability::{
MetricsRegistry, metrics_router, record_metrics_middleware,
};
let registry = MetricsRegistry::new();
let app = Router::new()
.route("/ready", get(|| async { "ok" }))
.merge(metrics_router(registry.clone()))
.layer(middleware::from_fn_with_state(
registry,
record_metrics_middleware,
));
```
The metrics middleware records low-cardinality method, matched route, status, and duration data. The helper exposes Prometheus text at `/metrics`.