summaryrefslogtreecommitdiff
path: root/shaping/include/shaper_global_stat.h
diff options
context:
space:
mode:
authorliuchang <[email protected]>2023-04-03 11:09:45 +0000
committerliuchang <[email protected]>2023-04-04 02:33:50 +0000
commit72ed9151b6dfa000b413e667e52d59498c7aaad7 (patch)
treee0a50bc4b28eaa0de5cb9aef6e6388181cd76098 /shaping/include/shaper_global_stat.h
parent5e9d5418d1c0950352e3ab704285f8a371a7bae5 (diff)
add global metric
Diffstat (limited to 'shaping/include/shaper_global_stat.h')
-rw-r--r--shaping/include/shaper_global_stat.h45
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