diff options
| author | liuchang <[email protected]> | 2023-04-03 11:09:45 +0000 |
|---|---|---|
| committer | liuchang <[email protected]> | 2023-04-04 02:33:50 +0000 |
| commit | 72ed9151b6dfa000b413e667e52d59498c7aaad7 (patch) | |
| tree | e0a50bc4b28eaa0de5cb9aef6e6388181cd76098 /shaping/include/shaper_global_stat.h | |
| parent | 5e9d5418d1c0950352e3ab704285f8a371a7bae5 (diff) | |
add global metric
Diffstat (limited to 'shaping/include/shaper_global_stat.h')
| -rw-r--r-- | shaping/include/shaper_global_stat.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/shaping/include/shaper_global_stat.h b/shaping/include/shaper_global_stat.h new file mode 100644 index 0000000..97132c4 --- /dev/null +++ b/shaping/include/shaper_global_stat.h @@ -0,0 +1,45 @@ +#include <fieldstat.h> + +enum shaping_global_stat_dir { + SHAPING_GLOBAL_STAT_RX, + SHAPING_GLOBAL_STAT_TX +}; + +enum shaping_global_stat_column_index { + RX_PKTS_IDX = 0, + RX_BYTES_IDX, + TX_PKTS_IDX, + TX_BYTES_IDX, + QUEUEING_PKTS_IDX, + QUEUEING_BYTES_IDX, + DROP_PKTS_IDX, + DROP_BYTES_IDX, + CTRL_PKTS_IDX, + CTRL_OPENING_PKTS_IDX, + CTRL_ACTIVE_PKTS_IDX, + CTRL_CLOSE_PKTS_IDX, + CTRL_RESETALL_PKTS_IDX, + CURR_SESSION_NUM_IDX, + GLOBAL_STAT_COLUNM_IDX_MAX +}; + +struct shaping_global_stat { + struct fieldstat_instance *instance; + int table_id; + int column_ids[GLOBAL_STAT_COLUNM_IDX_MAX]; +}; + +struct shaping_global_stat* shaper_global_stat_init(); +void shaper_global_stat_destroy(struct shaping_global_stat *stat); + +void shaper_global_stat_throughput_inc(struct shaping_global_stat *stat, enum shaping_global_stat_dir dir, int pkt_len); +void shaper_global_stat_drop_inc(struct shaping_global_stat *stat, int pkt_len); +void shaper_global_stat_queueing_inc(struct shaping_global_stat *stat, int pkt_len); +void shaper_global_stat_queueing_dec(struct shaping_global_stat *stat, int pkt_len); +void shaper_global_stat_ctrlpkt_inc(struct shaping_global_stat *stat); +void shaper_global_stat_ctrlpkt_opening_inc(struct shaping_global_stat *stat); +void shaper_global_stat_ctrlpkt_active_inc(struct shaping_global_stat *stat); +void shaper_global_stat_ctrlpkt_close_inc(struct shaping_global_stat *stat); +void shaper_global_stat_ctrlpkt_resetall_inc(struct shaping_global_stat *stat); +void shaper_global_stat_curr_session_inc(struct shaping_global_stat *stat); +void shaper_global_stat_curr_session_dec(struct shaping_global_stat *stat);
\ No newline at end of file |
