hypercall_api/
observability_boundary.rs1use 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}