Skip to main content

hypercall_api/
observability_boundary.rs

1use hypercall_types::observability::AuthFailureReason;
2
3pub use hypercall_runtime_api::BuildInfo;
4
5pub trait AuthFailureRecorder: Send + Sync {
6    fn record_auth_failure(&self, reason: AuthFailureReason);
7}
8
9pub trait MetricsRenderer: Send + Sync {
10    fn render_metrics(&self) -> String;
11}
12
13pub struct NoopAuthFailureRecorder;
14
15impl AuthFailureRecorder for NoopAuthFailureRecorder {
16    fn record_auth_failure(&self, _reason: AuthFailureReason) {}
17}
18
19pub struct EmptyMetricsRenderer;
20
21impl MetricsRenderer for EmptyMetricsRenderer {
22    fn render_metrics(&self) -> String {
23        String::new()
24    }
25}