Skip to content

Commit bb80ea5

Browse files
fix(hermes): clone histograms before registering to avoid moving into async tasks
Co-Authored-By: Tejas Badadare <[email protected]>
1 parent 4f4be83 commit bb80ea5

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

apps/hermes/server/src/api/metrics_middleware.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ impl ApiMetrics {
4848
{
4949
let requests = new.requests.clone();
5050
let latencies = new.latencies.clone();
51+
let sse_broadcast_latency = new.sse_broadcast_latency.clone();
5152

5253
tokio::spawn(async move {
5354
Metrics::register(
@@ -71,7 +72,7 @@ impl ApiMetrics {
7172
(
7273
"sse_broadcast_latency_seconds",
7374
"Latency from Hermes receive_time to SSE send in seconds",
74-
new.sse_broadcast_latency.clone(),
75+
sse_broadcast_latency,
7576
),
7677
)
7778
.await;

apps/hermes/server/src/api/ws.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ impl WsMetrics {
106106

107107
{
108108
let interactions = new.interactions.clone();
109+
let ws_broadcast_latency = new.broadcast_latency.clone();
109110

110111
tokio::spawn(async move {
111112
Metrics::register(
@@ -123,7 +124,7 @@ impl WsMetrics {
123124
(
124125
"ws_broadcast_latency_seconds",
125126
"Latency from Hermes receive_time to WS send in seconds",
126-
new.broadcast_latency.clone(),
127+
ws_broadcast_latency,
127128
),
128129
)
129130
.await;

0 commit comments

Comments
 (0)