···1414 Counts HTTP XRPC requests by method, NSID, endpoint type, and status.
1515- `perlsky_xrpc_request_duration_seconds`
1616 Histogram for HTTP XRPC latency with the same labels.
1717+- `perlsky_xrpc_errors_total`
1818+ Counts rendered XRPC failures by method, NSID, endpoint type, status, and error code.
1919+- `perlsky_xrpc_unhandled_exceptions_total`
2020+ Counts true unhandled exceptions on XRPC routes by method, NSID, and endpoint type.
1721- `perlsky_subscription_connections_total`
1822 Counts websocket subscription opens by NSID.
1923- `perlsky_subscription_active`
···7478## Suggested Alerts
75797680- high error rate on `perlsky_xrpc_requests_total`
8181+- spikes in `perlsky_xrpc_errors_total` for a specific `nsid` or `error`
8282+- any growth in `perlsky_xrpc_unhandled_exceptions_total`
7783- sustained increase in `perlsky_xrpc_request_duration_seconds`
7884- non-zero `perlsky_subscription_active` with no corresponding frame growth
7985- crawler errors from `perlsky_crawler_requests_total{result="error"}`
+10
lib/ATProto/PDS/Metrics.pm
···2525 [0.001, 0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10],
2626 );
2727 $self->_register_counter(
2828+ 'perlsky_xrpc_errors_total',
2929+ 'Total rendered XRPC errors by method, endpoint, type, status, and error code.',
3030+ [qw(method nsid endpoint_type status error)],
3131+ );
3232+ $self->_register_counter(
3333+ 'perlsky_xrpc_unhandled_exceptions_total',
3434+ 'Total unhandled internal exceptions on XRPC routes by method, endpoint, and type.',
3535+ [qw(method nsid endpoint_type)],
3636+ );
3737+ $self->_register_counter(
2838 'perlsky_service_proxy_requests_total',
2939 'Total service-proxy requests handled locally or upstream by NSID, source, and status.',
3040 [qw(nsid source status)],