修改fieldstat字段的命名

This commit is contained in:
luwenpeng
2023-03-02 11:56:44 +08:00
parent e35429008a
commit 73486ef55d
3 changed files with 68 additions and 68 deletions

View File

@@ -27,9 +27,9 @@ struct global_metrics
struct throughput_metrics dev_endpoint_tx; // 累计值
struct throughput_metrics dev_endpoint_err_drop; // 累计值
struct throughput_metrics dev_nf_interface_rx; // 累计值
struct throughput_metrics dev_nf_interface_tx; // 累计值
struct throughput_metrics dev_nf_interface_err_bypass; // 累计值
struct throughput_metrics raw_pkt_rx; // 累计值
struct throughput_metrics raw_pkt_tx; // 累计值
struct throughput_metrics raw_pkt_err_bypass; // 累计值
struct throughput_metrics hit_block_policy; // 累计值
struct throughput_metrics hit_bypass_policy; // 累计值
@@ -40,15 +40,15 @@ struct global_metrics
struct throughput_metrics mirroring_tx; // 累计值
struct throughput_metrics mirroring_rx_drop; // 累计值
struct throughput_metrics downlink_keepalive_packet_rx; // 累计值
struct throughput_metrics uplink_keepalive_packet_rx; // 累计值
struct throughput_metrics control_packet_rx; // 累计值
struct throughput_metrics downlink_keepalive_pkt_rx; // 累计值
struct throughput_metrics uplink_keepalive_pkt_rx; // 累计值
struct throughput_metrics ctrl_pkt_rx; // 累计值
uint64_t control_packet_opening_num; // 累计值
uint64_t control_packet_active_num; // 累计值
uint64_t control_packet_closing_num; // 累计值
uint64_t control_packet_resetall_num; // 累计值
uint64_t control_packet_error_num; // 累计值
uint64_t ctrl_pkt_opening_num; // 累计值
uint64_t ctrl_pkt_active_num; // 累计值
uint64_t ctrl_pkt_closing_num; // 累计值
uint64_t ctrl_pkt_resetall_num; // 累计值
uint64_t ctrl_pkt_error_num; // 累计值
uint64_t sf_active_times; // 累计值
uint64_t sf_inactive_times; // 累计值

View File

@@ -23,14 +23,14 @@ enum SCE_STAT_FIELD
STAT_HIT_BLOCK_POLICY_B,
// dev nf interface
STAT_NF_INTERFACE_RX_PKT,
STAT_NF_INTERFACE_RX_B,
STAT_RAW_PKT_RX_PKT,
STAT_RAW_PKT_RX_B,
STAT_NF_INTERFACE_TX_PKT,
STAT_NF_INTERFACE_TX_B,
STAT_RAW_PKT_TX_PKT,
STAT_RAW_PKT_TX_B,
STAT_NF_INTERFACE_ERR_BYPASS_PKT,
STAT_NF_INTERFACE_ERR_BYPASS_B,
STAT_RAW_PKT_ERR_BYPASS_PKT,
STAT_RAW_PKT_ERR_BYPASS_B,
// hit bypass policy
STAT_HIT_BYPASS_POLICY_PKT,
@@ -52,11 +52,11 @@ enum SCE_STAT_FIELD
STAT_CONTROL_RX_PKT,
STAT_CONTROL_RX_B,
STAT_CONTROL_PKT_OPENING,
STAT_CONTROL_PKT_ACTIVE,
STAT_CONTROL_PKT_CLOSING,
STAT_CONTROL_PKT_RESETALL,
STAT_CONTROL_PKT_ERROR,
STAT_CTRL_PKT_OPENING,
STAT_CTRL_PKT_ACTIVE,
STAT_CTRL_PKT_CLOSING,
STAT_CTRL_PKT_RESETALL,
STAT_CTRL_PKT_ERROR,
// current session number
STAT_CURRENT_SESSION_NUMS,
@@ -94,14 +94,14 @@ static const char *stat_map[] =
[STAT_HIT_BLOCK_POLICY_B] = "hit_block_B",
// dev nf interface
[STAT_NF_INTERFACE_RX_PKT] = "nf_rx_pkt",
[STAT_NF_INTERFACE_RX_B] = "nf_rx_B",
[STAT_RAW_PKT_RX_PKT] = "raw_rx_pkt",
[STAT_RAW_PKT_RX_B] = "raw_rx_B",
[STAT_NF_INTERFACE_TX_PKT] = "nf_tx_pkt",
[STAT_NF_INTERFACE_TX_B] = "nf_tx_B",
[STAT_RAW_PKT_TX_PKT] = "raw_tx_pkt",
[STAT_RAW_PKT_TX_B] = "raw_tx_B",
[STAT_NF_INTERFACE_ERR_BYPASS_PKT] = "nf_e_bypass_pkt",
[STAT_NF_INTERFACE_ERR_BYPASS_B] = "nf_e_bypass_B",
[STAT_RAW_PKT_ERR_BYPASS_PKT] = "raw_e_bypass_pkt",
[STAT_RAW_PKT_ERR_BYPASS_B] = "raw_e_bypass_B",
// hit bypass policy
[STAT_HIT_BYPASS_POLICY_PKT] = "hit_bypass_pkt",
@@ -123,11 +123,11 @@ static const char *stat_map[] =
[STAT_CONTROL_RX_PKT] = "ctrl_rx_pkt",
[STAT_CONTROL_RX_B] = "ctrl_rx_B",
[STAT_CONTROL_PKT_OPENING] = "ctrl_pkt_open",
[STAT_CONTROL_PKT_ACTIVE] = "ctrl_pkt_avtive",
[STAT_CONTROL_PKT_CLOSING] = "ctrl_pkt_close",
[STAT_CONTROL_PKT_RESETALL] = "ctrl_pkt_reset",
[STAT_CONTROL_PKT_ERROR] = "ctrl_pkt_error",
[STAT_CTRL_PKT_OPENING] = "ctrl_pkt_open",
[STAT_CTRL_PKT_ACTIVE] = "ctrl_pkt_avtive",
[STAT_CTRL_PKT_CLOSING] = "ctrl_pkt_close",
[STAT_CTRL_PKT_RESETALL] = "ctrl_pkt_reset",
[STAT_CTRL_PKT_ERROR] = "ctrl_pkt_error",
// current session number
[STAT_CURRENT_SESSION_NUMS] = "curr_sess_num",
@@ -240,14 +240,14 @@ void global_metrics_dump(struct global_metrics *metrics)
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_ENDPOINT_ERR_DROP_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_endpoint_err_drop.n_bytes), 0, __ATOMIC_RELAXED));
// dev nf interface
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_rx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_tx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_tx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_ERR_BYPASS_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_err_bypass.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_ERR_BYPASS_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_err_bypass.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_ERR_BYPASS_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_err_bypass.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_ERR_BYPASS_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_err_bypass.n_bytes), 0, __ATOMIC_RELAXED));
// hit block policy
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_HIT_BLOCK_POLICY_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->hit_block_policy.n_pkts), 0, __ATOMIC_RELAXED));
@@ -272,20 +272,20 @@ void global_metrics_dump(struct global_metrics *metrics)
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_MIRRORING_RX_DROP_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->mirroring_rx_drop.n_bytes), 0, __ATOMIC_RELAXED));
// keepalive packet
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_packet_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_packet_rx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_packet_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_packet_rx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
// control packet
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_rx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_OPENING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_opening_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_ACTIVE], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_active_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_CLOSING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_closing_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_RESETALL], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_resetall_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_ERROR], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_error_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_OPENING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_opening_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_ACTIVE], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_active_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_CLOSING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_closing_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_RESETALL], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_resetall_num), 0, __ATOMIC_RELAXED));
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_ERROR], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_error_num), 0, __ATOMIC_RELAXED));
// current session number
FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CURRENT_SESSION_NUMS], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->session_nums), 0, __ATOMIC_RELAXED));

View File

@@ -307,8 +307,8 @@ int packet_io_polling_nf_interface(struct packet_io *handle, int thread_seq, voi
if (!marsio_buff_is_ctrlbuf(rx_buffs[j]))
{
int raw_len = marsio_buff_datalen(rx_buffs[j]);
throughput_metrics_inc(&g_metrics->dev_nf_interface_rx, 1, raw_len);
throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len);
throughput_metrics_inc(&g_metrics->raw_pkt_rx, 1, raw_len);
throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, raw_len);
}
}
@@ -323,7 +323,7 @@ int packet_io_polling_nf_interface(struct packet_io *handle, int thread_seq, voi
if (is_downstream_keepalive_packet(rx_buff))
{
throughput_metrics_inc(&g_metrics->downlink_keepalive_packet_rx, 1, raw_len);
throughput_metrics_inc(&g_metrics->downlink_keepalive_pkt_rx, 1, raw_len);
marsio_send_burst(handle->dev_nf_interface.mr_path, thread_seq, &rx_buff, 1);
continue;
}
@@ -331,25 +331,25 @@ int packet_io_polling_nf_interface(struct packet_io *handle, int thread_seq, voi
if (marsio_buff_is_ctrlbuf(rx_buff))
{
handle_control_packet(handle, rx_buff, thread_seq, ctx);
throughput_metrics_inc(&g_metrics->control_packet_rx, 1, raw_len);
throughput_metrics_inc(&g_metrics->ctrl_pkt_rx, 1, raw_len);
// all control packet need bypass
marsio_send_burst(handle->dev_nf_interface.mr_path, thread_seq, &rx_buff, 1);
}
else
{
throughput_metrics_inc(&g_metrics->dev_nf_interface_rx, 1, raw_len);
throughput_metrics_inc(&g_metrics->raw_pkt_rx, 1, raw_len);
int action_bytes = 0;
enum raw_pkt_action action = handle_raw_packet(handle, rx_buff, thread_seq, ctx, &action_bytes);
assert(action_bytes > 0);
switch (action)
{
case RAW_PKT_ERR_BYPASS:
throughput_metrics_inc(&g_metrics->dev_nf_interface_err_bypass, 1, action_bytes);
throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len);
throughput_metrics_inc(&g_metrics->raw_pkt_err_bypass, 1, action_bytes);
throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, raw_len);
break;
case RAW_PKT_HIT_BYPASS:
throughput_metrics_inc(&g_metrics->hit_bypass_policy, 1, action_bytes);
throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len);
throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, raw_len);
break;
case RAW_PKT_HIT_BLOCK:
throughput_metrics_inc(&g_metrics->hit_block_policy, 1, action_bytes);
@@ -400,7 +400,7 @@ int packet_io_polling_endpoint(struct packet_io *handle, int thread_seq, void *c
if (is_upstream_keepalive_packet(rx_buff))
{
throughput_metrics_inc(&g_metrics->uplink_keepalive_packet_rx, 1, data_len);
throughput_metrics_inc(&g_metrics->uplink_keepalive_pkt_rx, 1, data_len);
marsio_buff_free(handle->instance, &rx_buff, 1, 0, thread_seq);
continue;
}
@@ -427,7 +427,7 @@ int packet_io_polling_endpoint(struct packet_io *handle, int thread_seq, void *c
break;
case INJT_PKT_HIT_FWD2NF: // forward to network function
throughput_metrics_inc(&g_metrics->steering_rx, 1, data_len); // use data_len
throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, action_bytes);
throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, action_bytes);
break;
}
}
@@ -636,7 +636,7 @@ static int handle_control_packet(struct packet_io *handle, marsio_buff_t *rx_buf
{
LOG_ERROR("%s: unexpected control packet, unable to get metadata", LOG_TAG_PKTIO);
packet_io_dump_metadata(rx_buff, &meta);
__atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED);
return -1;
}
@@ -645,14 +645,14 @@ static int handle_control_packet(struct packet_io *handle, marsio_buff_t *rx_buf
if (ctrl_packet_parser_parse(&ctrl_parser, meta.raw_data + meta.l7_offset, meta.raw_len - meta.l7_offset) == -1)
{
LOG_ERROR("%s: unexpected control packet, unable to parse data", LOG_TAG_PKTIO);
__atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED);
return -1;
}
if (ctrl_parser.session_id != meta.session_id)
{
LOG_ERROR("%s: unexpected control packet, metadata's session %lu != control packet's session %lu", LOG_TAG_PKTIO, meta.session_id, ctrl_parser.session_id);
__atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED);
return -1;
}
@@ -661,21 +661,21 @@ static int handle_control_packet(struct packet_io *handle, marsio_buff_t *rx_buf
switch (ctrl_parser.state)
{
case SESSION_STATE_OPENING:
__atomic_fetch_add(&g_metrics->control_packet_opening_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_opening_num, 1, __ATOMIC_RELAXED);
// when session opening, firewall not send policy id
// return handle_session_opening(&meta, &ctrl_parser, thread_seq, ctx);
break;
case SESSION_STATE_CLOSING:
__atomic_fetch_add(&g_metrics->control_packet_closing_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_closing_num, 1, __ATOMIC_RELAXED);
return handle_session_closing(&meta, &ctrl_parser, thread_seq, ctx);
case SESSION_STATE_ACTIVE:
__atomic_fetch_add(&g_metrics->control_packet_active_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_active_num, 1, __ATOMIC_RELAXED);
return handle_session_active(&meta, &ctrl_parser, thread_seq, ctx);
case SESSION_STATE_RESETALL:
__atomic_fetch_add(&g_metrics->control_packet_resetall_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_resetall_num, 1, __ATOMIC_RELAXED);
return handle_session_resetall(&meta, &ctrl_parser, thread_seq, ctx);
default:
__atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED);
__atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED);
}
return 0;