swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/crates/phone-opus/src/mcp/telemetry.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/phone-opus/src/mcp/telemetry.rs')
-rw-r--r--crates/phone-opus/src/mcp/telemetry.rs20
1 files changed, 10 insertions, 10 deletions
diff --git a/crates/phone-opus/src/mcp/telemetry.rs b/crates/phone-opus/src/mcp/telemetry.rs
index 8df0009..5b91d78 100644
--- a/crates/phone-opus/src/mcp/telemetry.rs
+++ b/crates/phone-opus/src/mcp/telemetry.rs
@@ -84,11 +84,7 @@ impl ServerTelemetry {
self.totals.success_count += 1;
let entry = self.methods.entry(operation.to_owned()).or_default();
entry.success_count += 1;
- entry.total_latency_ms = entry
- .total_latency_ms
- .saturating_add(u128::from(latency_ms));
- entry.max_latency_ms = entry.max_latency_ms.max(latency_ms);
- entry.last_latency_ms = Some(latency_ms);
+ record_latency_sample(entry, latency_ms);
entry.last_error = None;
}
@@ -123,11 +119,7 @@ impl ServerTelemetry {
} else {
entry.response_error_count += 1;
}
- entry.total_latency_ms = entry
- .total_latency_ms
- .saturating_add(u128::from(latency_ms));
- entry.max_latency_ms = entry.max_latency_ms.max(latency_ms);
- entry.last_latency_ms = Some(latency_ms);
+ record_latency_sample(entry, latency_ms);
entry.last_error = Some(fault.message().to_owned());
}
@@ -211,6 +203,14 @@ impl ServerTelemetry {
}
}
+fn record_latency_sample(stats: &mut MethodStats, latency_ms: u64) {
+ stats.total_latency_ms = stats
+ .total_latency_ms
+ .saturating_add(u128::from(latency_ms));
+ stats.max_latency_ms = stats.max_latency_ms.max(latency_ms);
+ stats.last_latency_ms = Some(latency_ms);
+}
+
fn average_latency_ms(stats: &MethodStats) -> u64 {
if stats.request_count == 0 {
return 0;