TCP reassembly stat metric rename
This commit is contained in:
@@ -75,15 +75,15 @@ static inline uint64_t get_tcp_pkts_nosess_bypass(struct thread_stat *thr_stat)
|
|||||||
static inline uint64_t get_tcp_pkts_duped_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_duped_bypass; }
|
static inline uint64_t get_tcp_pkts_duped_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_pkts_duped_bypass; }
|
||||||
static inline uint64_t get_udp_pkts_duped_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_duped_bypass; }
|
static inline uint64_t get_udp_pkts_duped_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_duped_bypass; }
|
||||||
static inline uint64_t get_udp_pkts_evctd_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_evctd_bypass; }
|
static inline uint64_t get_udp_pkts_evctd_bypass(struct thread_stat *thr_stat) { return thr_stat->session_mgr->udp_pkts_evctd_bypass; }
|
||||||
static inline uint64_t get_tcp_seg_received(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_received; }
|
static inline uint64_t get_tcp_segs_input(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_input; }
|
||||||
static inline uint64_t get_tcp_seg_expired(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_expired; }
|
static inline uint64_t get_tcp_segs_timeout(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_timeout; }
|
||||||
static inline uint64_t get_tcp_seg_retransmit(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_retransmit; }
|
static inline uint64_t get_tcp_segs_retransmited(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_retransmited; }
|
||||||
static inline uint64_t get_tcp_seg_overlap(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_overlap; }
|
static inline uint64_t get_tcp_segs_overlapped(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_overlapped; }
|
||||||
static inline uint64_t get_tcp_seg_no_space(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_no_space; }
|
static inline uint64_t get_tcp_segs_omitted_too_many(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_omitted_too_many; }
|
||||||
static inline uint64_t get_tcp_seg_inorder(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_inorder; }
|
static inline uint64_t get_tcp_segs_inorder(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_inorder; }
|
||||||
static inline uint64_t get_tcp_seg_reorded(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_reorded; }
|
static inline uint64_t get_tcp_segs_reordered(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_reordered; }
|
||||||
static inline uint64_t get_tcp_seg_buffered(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_buffered; }
|
static inline uint64_t get_tcp_segs_buffered(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_buffered; }
|
||||||
static inline uint64_t get_tcp_seg_released(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_seg_released; }
|
static inline uint64_t get_tcp_segs_freed(struct thread_stat *thr_stat) { return thr_stat->session_mgr->tcp_segs_freed; }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This naming convention maintains consistency by using a clear, structured pattern:
|
* This naming convention maintains consistency by using a clear, structured pattern:
|
||||||
@@ -170,15 +170,15 @@ struct metric_schema
|
|||||||
{"udp_pkts_duped_bypass", get_udp_pkts_duped_bypass},
|
{"udp_pkts_duped_bypass", get_udp_pkts_duped_bypass},
|
||||||
{"udp_pkts_evctd_bypass", get_udp_pkts_evctd_bypass},
|
{"udp_pkts_evctd_bypass", get_udp_pkts_evctd_bypass},
|
||||||
// TCP segments
|
// TCP segments
|
||||||
{"tcp_seg_received", get_tcp_seg_received},
|
{"tcp_segs_input", get_tcp_segs_input},
|
||||||
{"tcp_seg_expired", get_tcp_seg_expired},
|
{"tcp_segs_timeout", get_tcp_segs_timeout},
|
||||||
{"tcp_seg_retransmit", get_tcp_seg_retransmit},
|
{"tcp_segs_retransmited", get_tcp_segs_retransmited},
|
||||||
{"tcp_seg_overlap", get_tcp_seg_overlap},
|
{"tcp_segs_overlapped", get_tcp_segs_overlapped},
|
||||||
{"tcp_seg_no_space", get_tcp_seg_no_space},
|
{"tcp_segs_omitted_too_many", get_tcp_segs_omitted_too_many},
|
||||||
{"tcp_seg_inorder", get_tcp_seg_inorder},
|
{"tcp_segs_inorder", get_tcp_segs_inorder},
|
||||||
{"tcp_seg_reorded", get_tcp_seg_reorded},
|
{"tcp_segs_reordered", get_tcp_segs_reordered},
|
||||||
{"tcp_seg_buffered", get_tcp_seg_buffered},
|
{"tcp_segs_buffered", get_tcp_segs_buffered},
|
||||||
{"tcp_seg_released", get_tcp_seg_released},
|
{"tcp_segs_freed", get_tcp_segs_freed},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct stellar_stat
|
struct stellar_stat
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ static void tcp_clean(struct session_manager *mgr, struct session *sess)
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_SEGMENTS_RELEASED, 1);
|
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_SEGMENTS_RELEASED, 1);
|
||||||
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
session_inc_stat(sess, FLOW_DIRECTION_C2S, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
||||||
mgr->stat.tcp_seg_released++;
|
mgr->stat.tcp_segs_freed++;
|
||||||
tcp_segment_free(seg);
|
tcp_segment_free(seg);
|
||||||
}
|
}
|
||||||
tcp_reassembly_free(c2s_ssembler);
|
tcp_reassembly_free(c2s_ssembler);
|
||||||
@@ -258,7 +258,7 @@ static void tcp_clean(struct session_manager *mgr, struct session *sess)
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_SEGMENTS_RELEASED, 1);
|
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_SEGMENTS_RELEASED, 1);
|
||||||
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
session_inc_stat(sess, FLOW_DIRECTION_S2C, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
||||||
mgr->stat.tcp_seg_released++;
|
mgr->stat.tcp_segs_freed++;
|
||||||
tcp_segment_free(seg);
|
tcp_segment_free(seg);
|
||||||
}
|
}
|
||||||
tcp_reassembly_free(s2c_ssembler);
|
tcp_reassembly_free(s2c_ssembler);
|
||||||
@@ -312,11 +312,11 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RECEIVED, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RECEIVED, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RECEIVED, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RECEIVED, len);
|
||||||
mgr->stat.tcp_seg_received++;
|
mgr->stat.tcp_segs_input++;
|
||||||
|
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_INORDER, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_INORDER, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_INORDER, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_INORDER, len);
|
||||||
mgr->stat.tcp_seg_inorder++;
|
mgr->stat.tcp_segs_inorder++;
|
||||||
|
|
||||||
half->in_order.data = tcp_layer->pld_ptr;
|
half->in_order.data = tcp_layer->pld_ptr;
|
||||||
half->in_order.len = len;
|
half->in_order.len = len;
|
||||||
@@ -336,11 +336,11 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_EXPIRED, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_EXPIRED, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_EXPIRED, seg->len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_EXPIRED, seg->len);
|
||||||
mgr->stat.tcp_seg_expired++;
|
mgr->stat.tcp_segs_timeout++;
|
||||||
|
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RELEASED, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RELEASED, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
||||||
mgr->stat.tcp_seg_released++;
|
mgr->stat.tcp_segs_freed++;
|
||||||
|
|
||||||
tcp_segment_free(seg);
|
tcp_segment_free(seg);
|
||||||
}
|
}
|
||||||
@@ -349,7 +349,7 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RECEIVED, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RECEIVED, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RECEIVED, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RECEIVED, len);
|
||||||
mgr->stat.tcp_seg_received++;
|
mgr->stat.tcp_segs_input++;
|
||||||
|
|
||||||
uint32_t rcv_nxt = tcp_reassembly_get_recv_next(half->assembler);
|
uint32_t rcv_nxt = tcp_reassembly_get_recv_next(half->assembler);
|
||||||
// in order
|
// in order
|
||||||
@@ -357,7 +357,7 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_INORDER, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_INORDER, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_INORDER, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_INORDER, len);
|
||||||
mgr->stat.tcp_seg_inorder++;
|
mgr->stat.tcp_segs_inorder++;
|
||||||
|
|
||||||
half->in_order.data = tcp_layer->pld_ptr;
|
half->in_order.data = tcp_layer->pld_ptr;
|
||||||
half->in_order.len = len;
|
half->in_order.len = len;
|
||||||
@@ -369,7 +369,7 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RETRANSMIT, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RETRANSMIT, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RETRANSMIT, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RETRANSMIT, len);
|
||||||
mgr->stat.tcp_seg_retransmit++;
|
mgr->stat.tcp_segs_retransmited++;
|
||||||
}
|
}
|
||||||
else if ((seg = tcp_segment_new(half->seq, tcp_layer->pld_ptr, len)))
|
else if ((seg = tcp_segment_new(half->seq, tcp_layer->pld_ptr, len)))
|
||||||
{
|
{
|
||||||
@@ -378,28 +378,28 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
|
|||||||
case -2:
|
case -2:
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RETRANSMIT, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RETRANSMIT, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RETRANSMIT, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RETRANSMIT, len);
|
||||||
mgr->stat.tcp_seg_retransmit++;
|
mgr->stat.tcp_segs_retransmited++;
|
||||||
tcp_segment_free(seg);
|
tcp_segment_free(seg);
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_NOSPACE, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_NOSPACE, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_NOSPACE, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_NOSPACE, len);
|
||||||
mgr->stat.tcp_seg_no_space++;
|
mgr->stat.tcp_segs_omitted_too_many++;
|
||||||
tcp_segment_free(seg);
|
tcp_segment_free(seg);
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_BUFFERED, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_BUFFERED, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_BUFFERED, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_BUFFERED, len);
|
||||||
mgr->stat.tcp_seg_buffered++;
|
mgr->stat.tcp_segs_buffered++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_OVERLAP, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_OVERLAP, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_OVERLAP, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_OVERLAP, len);
|
||||||
mgr->stat.tcp_seg_overlap++;
|
mgr->stat.tcp_segs_overlapped++;
|
||||||
|
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_BUFFERED, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_BUFFERED, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_BUFFERED, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_BUFFERED, len);
|
||||||
mgr->stat.tcp_seg_buffered++;
|
mgr->stat.tcp_segs_buffered++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
@@ -410,7 +410,7 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum f
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_NOSPACE, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_NOSPACE, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_NOSPACE, len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_NOSPACE, len);
|
||||||
mgr->stat.tcp_seg_no_space++;
|
mgr->stat.tcp_segs_omitted_too_many++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,15 +78,15 @@ struct session_manager_stat
|
|||||||
uint64_t udp_pkts_evctd_bypass; // sum
|
uint64_t udp_pkts_evctd_bypass; // sum
|
||||||
|
|
||||||
// TCP segments
|
// TCP segments
|
||||||
uint64_t tcp_seg_received; // sum
|
uint64_t tcp_segs_input; // sum
|
||||||
uint64_t tcp_seg_expired; // sum
|
uint64_t tcp_segs_timeout; // sum
|
||||||
uint64_t tcp_seg_retransmit; // sum
|
uint64_t tcp_segs_retransmited; // sum
|
||||||
uint64_t tcp_seg_overlap; // sum
|
uint64_t tcp_segs_overlapped; // sum
|
||||||
uint64_t tcp_seg_no_space; // sum
|
uint64_t tcp_segs_omitted_too_many; // sum
|
||||||
uint64_t tcp_seg_inorder; // sum
|
uint64_t tcp_segs_inorder; // sum
|
||||||
uint64_t tcp_seg_reorded; // sum
|
uint64_t tcp_segs_reordered; // sum
|
||||||
uint64_t tcp_seg_buffered; // sum
|
uint64_t tcp_segs_buffered; // sum
|
||||||
uint64_t tcp_seg_released; // sum
|
uint64_t tcp_segs_freed; // sum
|
||||||
};
|
};
|
||||||
|
|
||||||
struct session_manager;
|
struct session_manager;
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ struct tcp_segment *session_get_tcp_segment(struct session *sess)
|
|||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_REORDERED, seg->len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_REORDERED, seg->len);
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
sess->mgr_stat->tcp_seg_reorded++;
|
sess->mgr_stat->tcp_segs_reordered++;
|
||||||
}
|
}
|
||||||
return seg;
|
return seg;
|
||||||
}
|
}
|
||||||
@@ -278,7 +278,7 @@ void session_free_tcp_segment(struct session *sess, struct tcp_segment *seg)
|
|||||||
{
|
{
|
||||||
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RELEASED, 1);
|
session_inc_stat(sess, dir, STAT_TCP_SEGMENTS_RELEASED, 1);
|
||||||
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
session_inc_stat(sess, dir, STAT_TCP_PAYLOADS_RELEASED, seg->len);
|
||||||
sess->mgr_stat->tcp_seg_released++;
|
sess->mgr_stat->tcp_segs_freed++;
|
||||||
|
|
||||||
tcp_segment_free(seg);
|
tcp_segment_free(seg);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user