etcpmon: add queue metrics, error counters, timer flags and peer_node_id

- Added queue bytes/packets for all 6 ETCP queues
- Added error counters: reinit_count, reset_count, pkt_format_errors
- Added timer active flags for connection and link timers
- Added peer_node_id to identify connection in metrics
This commit is contained in:
Evgeny committed 2026-03-07 17:27:02 +03:00
1 parent 8a59b51b49
commit fbd1128bf1
2 files changed
+57

No files matched your search

+29
View File
@@ -95,6 +95,7 @@ struct etcpmon_rsp_conn_list {
/* ETCP Connection metrics */
struct etcpmon_etcp_metrics {
uint64_t peer_node_id; /* Connection identifier */
uint32_t rtt_last; /* Last RTT (0.1ms units) */
uint32_t rtt_avg_10; /* Average RTT over 10 packets */
uint32_t rtt_avg_100; /* Average RTT over 100 packets */
@@ -105,6 +106,29 @@ struct etcpmon_etcp_metrics {
uint32_t unacked_bytes; /* Current unacknowledged bytes */
uint32_t optimal_inflight; /* Target inflight window */
uint8_t links_count; /* Number of active links */
/* Queue metrics */
uint32_t input_queue_bytes;
uint32_t input_queue_packets;
uint32_t input_send_q_bytes;
uint32_t input_send_q_packets;
uint32_t input_wait_ack_bytes;
uint32_t input_wait_ack_packets;
uint32_t ack_q_bytes;
uint32_t ack_q_packets;
uint32_t recv_q_bytes;
uint32_t recv_q_packets;
uint32_t output_queue_bytes;
uint32_t output_queue_packets;
/* Error counters */
uint32_t reinit_count;
uint32_t reset_count;
uint32_t pkt_format_errors;
/* Timer flags (1 = active, 0 = NULL) */
uint8_t retrans_timer_active;
uint8_t ack_resp_timer_active;
};
/* Link metrics */
@@ -121,6 +145,11 @@ struct etcpmon_link_metrics {
uint32_t nat_changes_count; /* NAT address changes */
uint32_t rtt_last; /* Last RTT (0.1ms units) */
uint32_t tt_last; /* Last transmit time (0.1ms units) */
/* Timer flags (1 = active, 0 = NULL) */
uint8_t init_timer_active;
uint8_t keepalive_timer_active;
uint8_t shaper_timer_active;
};
/* TUN interface metrics */