TSG-23380: I/O层移除FieldStat2,使用FieldStat4
This commit is contained in:
@@ -7,8 +7,7 @@ extern "C"
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "tfe_utils.h"
|
#include "tfe_utils.h"
|
||||||
#include <MESA/field_stat2.h>
|
#include <tfe_fieldstat.h>
|
||||||
|
|
||||||
|
|
||||||
struct throughput_metrics
|
struct throughput_metrics
|
||||||
{
|
{
|
||||||
@@ -59,7 +58,7 @@ struct packet_io_fs
|
|||||||
uint64_t session_num; // 瞬时值
|
uint64_t session_num; // 瞬时值
|
||||||
uint64_t session_log; // 瞬时值
|
uint64_t session_log; // 瞬时值
|
||||||
|
|
||||||
screen_stat_handle_t fs_handle;
|
struct fieldstat_easy *fs_handle;
|
||||||
int fs_id[128];
|
int fs_id[128];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -163,26 +163,19 @@ static const char *stat_map[] =
|
|||||||
|
|
||||||
struct packet_io_fs *packet_io_fs_create(const char *profile)
|
struct packet_io_fs *packet_io_fs_create(const char *profile)
|
||||||
{
|
{
|
||||||
int value=0;
|
int output_cycle = 0;
|
||||||
const char* app_name="packet_io";
|
const char* app_name="pkthandler";
|
||||||
const char* fieldstat_output="log/packet_io.fs2";
|
char output_file[TFE_STRING_MAX] = {0};
|
||||||
|
MESA_load_profile_string_def(profile, "STAT", "pkthandler_output_file", output_file, sizeof(output_file), "metrics/pkthandler.json");
|
||||||
|
MESA_load_profile_int_def(profile, "STAT", "output_cycle", &(output_cycle), 5);
|
||||||
|
|
||||||
struct packet_io_fs *handle = (struct packet_io_fs *)calloc(1, sizeof(struct packet_io_fs));
|
struct packet_io_fs *handle = (struct packet_io_fs *)calloc(1, sizeof(struct packet_io_fs));
|
||||||
handle->fs_handle=FS_create_handle();
|
handle->fs_handle=fieldstat_easy_new(1, app_name, NULL, 0);
|
||||||
FS_set_para(handle->fs_handle, APP_NAME, app_name, strlen(app_name)+1);
|
fieldstat_easy_enable_auto_output(handle->fs_handle, output_file, output_cycle);
|
||||||
FS_set_para(handle->fs_handle, OUTPUT_DEVICE, fieldstat_output, strlen(fieldstat_output)+1);
|
|
||||||
value = 1;
|
|
||||||
FS_set_para(handle->fs_handle, OUTPUT_PROMETHEUS, &value, sizeof(value));
|
|
||||||
value=1;
|
|
||||||
FS_set_para(handle->fs_handle, PRINT_MODE, &value, sizeof(value));
|
|
||||||
value=0;
|
|
||||||
FS_set_para(handle->fs_handle, CREATE_THREAD, &value, sizeof(value));
|
|
||||||
|
|
||||||
for (int i = 0; i < STAT_MAX; i++)
|
for (int i = 0; i < STAT_MAX; i++)
|
||||||
{
|
{
|
||||||
handle->fs_id[i] = FS_register(handle->fs_handle, FS_STYLE_FIELD, FS_CALC_CURRENT, stat_map[i]);
|
handle->fs_id[i] = fieldstat_easy_register_counter(handle->fs_handle, stat_map[i]);
|
||||||
}
|
}
|
||||||
FS_start(handle->fs_handle);
|
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,6 +183,10 @@ void packet_io_fs_destory(struct packet_io_fs *handle)
|
|||||||
{
|
{
|
||||||
if (handle)
|
if (handle)
|
||||||
{
|
{
|
||||||
|
if(handle->fs_handle)
|
||||||
|
{
|
||||||
|
fieldstat_easy_free(handle->fs_handle);
|
||||||
|
}
|
||||||
free(handle);
|
free(handle);
|
||||||
handle = NULL;
|
handle = NULL;
|
||||||
}
|
}
|
||||||
@@ -200,69 +197,68 @@ void packet_io_fs_dump(struct packet_io_fs *handle)
|
|||||||
if (handle == NULL)
|
if (handle == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_HIT_INTERCEPT_POLICY], 0, FS_OP_SET, __atomic_fetch_add(&(handle->hit_intercept_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_HIT_INTERCEPT_POLICY], NULL, 0, ATOMIC_EXCHANGE(&(handle->hit_intercept_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_HIT_NO_INTERCEPT_POLICY], 0, FS_OP_SET, __atomic_fetch_add(&(handle->hit_no_intercept_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_HIT_NO_INTERCEPT_POLICY], NULL, 0, ATOMIC_EXCHANGE(&(handle->hit_no_intercept_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CAN_INTERCEPT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->can_intercept_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CAN_INTERCEPT], NULL, 0, ATOMIC_EXCHANGE(&(handle->can_intercept_num), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_RAW_PKT_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->raw_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_RAW_PKT_RX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->raw_pkt_rx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_RAW_PKT_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->raw_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_RAW_PKT_RX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->raw_pkt_rx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_RAW_PKT_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->raw_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_RAW_PKT_TX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->raw_pkt_tx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_RAW_PKT_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->raw_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_RAW_PKT_TX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->raw_pkt_tx.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DECRYPTED_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->decrypt_tx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DECRYPTED_TX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->decrypt_tx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DECRYPTED_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->decrypt_tx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DECRYPTED_TX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->decrypt_tx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DECRYPTED_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->decrypt_rx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DECRYPTED_RX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->decrypt_rx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DECRYPTED_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->decrypt_rx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DECRYPTED_RX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->decrypt_rx.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DUP_PKT_BYPASS_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->dup_bypass.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DUP_PKT_BYPASS_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->dup_bypass.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DUP_PKT_BYPASS_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->dup_bypass.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DUP_PKT_BYPASS_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->dup_bypass.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_RAW_PKT_BYPASS_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->raw_bypass.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_RAW_PKT_BYPASS_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->raw_bypass.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_RAW_PKT_BYPASS_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->raw_bypass.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_RAW_PKT_BYPASS_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->raw_bypass.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DECRYPT_RXDROP_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->decrypt_rxdrop.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DECRYPT_RXDROP_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->decrypt_rxdrop.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_DECRYPT_RXDROP_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->decrypt_rxdrop.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_DECRYPT_RXDROP_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->decrypt_rxdrop.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_RX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_pkt_rx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_RX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_pkt_rx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_TX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_pkt_tx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_TX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_pkt_tx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_RXDROP_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_pkt_rxdrop.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_RXDROP_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_pkt_rxdrop.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_RXDROP_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_pkt_rxdrop.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_RXDROP_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_pkt_rxdrop.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_C_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_c_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_C_RX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_c_pkt_rx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_C_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_c_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_C_RX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_c_pkt_rx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_C_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_c_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_C_TX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_c_pkt_tx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_C_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_c_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_C_TX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_c_pkt_tx.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_S_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_s_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_S_RX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_s_pkt_rx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_S_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_s_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_S_RX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_s_pkt_rx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_S_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_s_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_S_TX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_s_pkt_tx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TAP_S_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tap_s_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TAP_S_TX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->tap_s_pkt_tx.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_ASYMMETRIC_NUM], 0, FS_OP_SET, __atomic_fetch_add(&(handle->asymmetric_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_ASYMMETRIC_NUM], NULL, 0, ATOMIC_EXCHANGE(&(handle->asymmetric_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TUNNEL_NUM], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tunnel_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TUNNEL_NUM], NULL, 0, ATOMIC_EXCHANGE(&(handle->tunnel_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_TCP_PCY_INVAL_NUM], 0, FS_OP_SET, __atomic_fetch_add(&(handle->tcp_pcy_inval_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_TCP_PCY_INVAL_NUM], NULL, 0, ATOMIC_EXCHANGE(&(handle->tcp_pcy_inval_num), 0));
|
||||||
|
|
||||||
// keepalived packet
|
// keepalived packet
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_KEEPALIVED_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->keepalived_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_KEEPALIVED_RX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->keepalived_pkt_rx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_KEEPALIVED_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->keepalived_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_KEEPALIVED_RX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->keepalived_pkt_rx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_KEEPALIVED_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->keepalived_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_KEEPALIVED_TX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->keepalived_pkt_tx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_KEEPALIVED_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->keepalived_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_KEEPALIVED_TX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->keepalived_pkt_tx.n_bytes), 0));
|
||||||
|
|
||||||
// control packet
|
// control packet
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CONTROL_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CONTROL_RX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_rx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CONTROL_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CONTROL_RX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_rx.n_bytes), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CONTROL_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CONTROL_TX_PKT], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_tx.n_pkts), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CONTROL_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CONTROL_TX_B], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_tx.n_bytes), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CTRL_PKT_OPENING], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_opening_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CTRL_PKT_OPENING], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_opening_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CTRL_PKT_ACTIVE], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_active_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CTRL_PKT_ACTIVE], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_active_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CTRL_PKT_CLOSING], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_closing_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CTRL_PKT_CLOSING], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_closing_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CTRL_PKT_RESETALL], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_resetall_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CTRL_PKT_RESETALL], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_resetall_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_CTRL_PKT_ERROR], 0, FS_OP_SET, __atomic_fetch_add(&(handle->ctrl_pkt_error_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_CTRL_PKT_ERROR], NULL, 0, ATOMIC_EXCHANGE(&(handle->ctrl_pkt_error_num), 0));
|
||||||
|
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_SESSION_NUM], 0, FS_OP_SET, __atomic_fetch_add(&(handle->session_num), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_SESSION_NUM], NULL, 0, ATOMIC_EXCHANGE(&(handle->session_num), 0));
|
||||||
FS_operate(handle->fs_handle, handle->fs_id[STAT_SESSION_LOG], 0, FS_OP_SET, __atomic_fetch_add(&(handle->session_log), 0, __ATOMIC_RELAXED));
|
fieldstat_easy_counter_incrby(handle->fs_handle, 0, handle->fs_id[STAT_SESSION_LOG], NULL, 0, ATOMIC_EXCHANGE(&(handle->session_log), 0));
|
||||||
FS_passive_output(handle->fs_handle);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ tcp_ttl_downstream=70
|
|||||||
|
|
||||||
[stat]
|
[stat]
|
||||||
output_file=log/tfe.json
|
output_file=log/tfe.json
|
||||||
|
pkthandler_output_file=metrics/pkthandler.json
|
||||||
output_cycle=5
|
output_cycle=5
|
||||||
|
|
||||||
[traffic_mirror]
|
[traffic_mirror]
|
||||||
|
|||||||
Reference in New Issue
Block a user