feat: wire up storage latency metrics, uptime gauge, and config timeouts

Instrument DeliveryService (enqueue, fetch) and KeyService
(key_package_upload, key_package_fetch) with storage latency histogram
recording. Add periodic uptime gauge task (every 15s). Log effective
rpc_timeout_secs, storage_timeout_secs, and webtransport_listen at
startup to eliminate dead_code warnings on EffectiveConfig fields.
This commit is contained in:
2026-03-07 20:30:24 +01:00
parent 3708b8df41
commit 077f48f19c
3 changed files with 29 additions and 0 deletions

View File

@@ -32,8 +32,10 @@ impl KeyService {
}
let fingerprint: Vec<u8> = Sha256::digest(&req.package).to_vec();
let start = std::time::Instant::now();
self.store
.upload_key_package(&req.identity_key, req.package)?;
crate::metrics::record_storage_latency("key_package_upload", start.elapsed());
Ok(UploadKeyPackageResp { fingerprint })
}
@@ -43,7 +45,9 @@ impl KeyService {
req: FetchKeyPackageReq,
_auth: &CallerAuth,
) -> Result<FetchKeyPackageResp, DomainError> {
let start = std::time::Instant::now();
let package = self.store.fetch_key_package(&req.identity_key)?;
crate::metrics::record_storage_latency("key_package_fetch", start.elapsed());
Ok(FetchKeyPackageResp {
package: package.unwrap_or_default(),
})