Skip to content

Commit 5c5d740

Browse files
committed
chore: report number of failed outgoing requests
1 parent 0a7c08a commit 5c5d740

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

crates/metrics/src/overlay.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ use crate::{
2020
#[derive(Clone)]
2121
pub struct OverlayMetrics {
2222
pub message_total: IntCounterVec,
23+
pub failed_message_sent: IntCounterVec,
2324
pub utp_outcome_total: IntCounterVec,
2425
pub utp_active_gauge: IntGaugeVec,
2526
pub utp_connection_duration: HistogramVec,
@@ -38,6 +39,14 @@ impl OverlayMetrics {
3839
&["protocol", "direction", "type"],
3940
registry
4041
)?;
42+
let failed_message_sent = register_int_counter_vec_with_registry!(
43+
opts!(
44+
"trin_failed_message_sent",
45+
"count all network messages sent"
46+
),
47+
&["protocol", "direction", "type"],
48+
registry
49+
)?;
4150
let utp_outcome_total = register_int_counter_vec_with_registry!(
4251
opts!(
4352
"trin_utp_outcome_total",
@@ -80,6 +89,7 @@ impl OverlayMetrics {
8089
)?;
8190
Ok(Self {
8291
message_total,
92+
failed_message_sent,
8393
utp_outcome_total,
8494
utp_active_gauge,
8595
utp_connection_duration,
@@ -129,13 +139,29 @@ impl OverlayMetricsReporter {
129139
self.increment_message_total(MessageDirectionLabel::Received, response.into());
130140
}
131141

142+
pub fn report_failed_outbound_request(&self, request: &Request) {
143+
self.increment_failed_message_sent(MessageDirectionLabel::Sent, request.into());
144+
}
145+
132146
fn increment_message_total(&self, direction: MessageDirectionLabel, message: MessageLabel) {
133147
let labels: [&str; 3] = [&self.protocol, direction.into(), message.into()];
134148
self.overlay_metrics
135149
.message_total
136150
.with_label_values(&labels)
137151
.inc();
138152
}
153+
/// Increment the failed message sent metric
154+
fn increment_failed_message_sent(
155+
&self,
156+
direction: MessageDirectionLabel,
157+
message: MessageLabel,
158+
) {
159+
let labels: [&str; 3] = [&self.protocol, direction.into(), message.into()];
160+
self.overlay_metrics
161+
.failed_message_sent
162+
.with_label_values(&labels)
163+
.inc();
164+
}
139165
/// Increase the total bytes inbound metric by the given length.
140166
pub fn report_bytes_inbound(&self, bytes_len: u64) {
141167
let labels: [&str; 1] = [&self.protocol];

crates/portalnet/src/overlay/service/manager.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,11 @@ impl<
309309
self.metrics.report_inbound_response(&response);
310310
self.process_response(response, request.destination, request.request, request.query_id, request.request_permit)
311311
}
312-
Err(error) => self.process_request_failure(response.request_id, request.destination, error),
312+
Err(error) => {
313+
// Metric repord failed request
314+
self.metrics.report_failed_outbound_request(&request.request);
315+
self.process_request_failure(response.request_id, request.destination, error)
316+
},
313317
}
314318

315319
} else {

0 commit comments

Comments
 (0)