diff options
| author | liuxueli <[email protected]> | 2023-06-27 14:58:46 +0800 |
|---|---|---|
| committer | liuxueli <[email protected]> | 2023-06-27 14:58:46 +0800 |
| commit | 2b9b49b24a80023a2139c7c8fe1981af2a1603fb (patch) | |
| tree | b4688e6bef3474a16adf8f78c365f7ca10adc845 | |
| parent | 9f17fec91781779dea45643726e91964554658ac (diff) | |
使用gauge类型输出统计
| -rw-r--r-- | src/tsg_rule.cpp | 52 | ||||
| -rw-r--r-- | src/tsg_stat.cpp | 60 | ||||
| -rw-r--r-- | src/tsg_stat.h | 37 |
3 files changed, 80 insertions, 69 deletions
diff --git a/src/tsg_rule.cpp b/src/tsg_rule.cpp index f451c25..7593070 100644 --- a/src/tsg_rule.cpp +++ b/src/tsg_rule.cpp @@ -445,7 +445,7 @@ void ex_data_gtp_c_new(const char *table_name, int table_id, const char* key, co atomic_inc(&user_info->ref_cnt); *ad=(void *)user_info; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_GTPC, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_GTPC, 1); return; } @@ -464,7 +464,7 @@ void ex_data_gtp_c_free(int table_id, void **ad, long argl, void* argp) tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_GTPC, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_GTPC, 1); } } @@ -511,7 +511,7 @@ void ex_data_asn_number_new(const char *table_name, int table_id, const char* ke atomic_inc(&asn->ref_cnt); *ad=(void *)asn; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ASN, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_ASN, 1); return; } @@ -527,7 +527,7 @@ void ex_data_asn_number_free(int table_id, void **ad, long argl, void* argp) tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ASN, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_ASN, 1); } } @@ -584,7 +584,7 @@ void ex_data_location_new(const char *table_name, int table_id, const char* key, atomic_inc(&location->ref_cnt); *ad=(void *)location; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_LOCATION, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_LOCATION, 1); tsg_free_field(country_full); tsg_free_field(province_full); tsg_free_field(city_full); @@ -605,7 +605,7 @@ void ex_data_location_free(int table_id, void **ad, long argl, void* argp) tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_LOCATION, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_LOCATION, 1); } } @@ -637,7 +637,7 @@ void ex_data_fqdn_category_id_new(const char *table_name, int table_id, const ch *ad=(void *)fqdn_cat; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_FQDN_CATEGORY, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_FQDN_CATEGORY, 1); return; } @@ -647,7 +647,7 @@ void ex_data_fqdn_category_id_free(int table_id, void **ad, long argl, void* arg { tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_FQDN_CATEGORY, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_FQDN_CATEGORY, 1); } } @@ -680,7 +680,7 @@ void ex_data_subscriber_id_new(const char *table_name, int table_id, const char* atomic_inc(&subscriber->ref_cnt); *ad=(void *)subscriber; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_SUBSCRIBER, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_SUBSCRIBER, 1); return; } @@ -695,7 +695,7 @@ void ex_data_subscriber_id_free(int table_id, void **ad, long argl, void* argp) tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_SUBSCRIBER, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_SUBSCRIBER, 1); } } @@ -819,7 +819,7 @@ void ex_data_app_id_dict_new(const char *table_name, int table_id, const char* k *ad=(void *)dict; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_APP_ID_DICT, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_APP_ID_DICT, 1); } void ex_data_app_id_dict_free(int table_id, void **ad, long argl, void* argp) @@ -837,7 +837,7 @@ void ex_data_app_id_dict_free(int table_id, void **ad, long argl, void* argp) tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_APP_ID_DICT, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_APP_ID_DICT, 1); } } @@ -1271,7 +1271,7 @@ void ex_data_security_compile_new(const char *table_name, int table_id, const ch *ad=(void *)compile; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_COMPILE, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_COMPILE, 1); return ; } @@ -1367,7 +1367,7 @@ void ex_data_security_compile_free(int table_id, void **ad, long argl, void *arg tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_COMPILE, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_COMPILE, 1); } @@ -1467,7 +1467,7 @@ void ex_data_http_response_pages_new(const char *table_name, int table_id, const res_pages=NULL; } - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_HTTP_RESPONSE, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_HTTP_RESPONSE, 1); } void ex_data_http_response_pages_free(int table_id, void **ad, long argl, void* argp) @@ -1479,7 +1479,7 @@ void ex_data_http_response_pages_free(int table_id, void **ad, long argl, void* tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_HTTP_RESPONSE, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_HTTP_RESPONSE, 1); } } @@ -1552,7 +1552,7 @@ void ex_data_dns_profile_records_new(const char *table_name, int table_id, const profile_records=NULL; } - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_DNS_RESPONSE, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_DNS_RESPONSE, 1); return ; } @@ -1578,7 +1578,7 @@ void ex_data_dns_profile_records_free(int table_id, void **ad, long argl, void * tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_DNS_RESPONSE, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_DNS_RESPONSE, 1); } } @@ -1613,7 +1613,7 @@ void ex_data_mirrored_profile_new(const char *table_name, int table_id, const ch tsg_free_field(vlan_ids_str); vlan_ids_str=NULL; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_MIRRORED, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_MIRRORED, 1); return ; } @@ -1629,7 +1629,7 @@ void ex_data_mirrored_profile_free(int table_id, void **ad, long argl, void *arg { tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_MIRRORED, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_MIRRORED, 1); } } @@ -1656,7 +1656,7 @@ void ex_data_tunnel_catalog_new(const char *table_name, int table_id, const char t_catalog->composition=column_string_get_value(table_line, 4); *ad=(void *)t_catalog; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_TUNNEL_CATALOG, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_TUNNEL_CATALOG, 1); } void ex_data_tunnel_catalog_free(int table_id, void **ad, long argl, void *argp) @@ -1672,7 +1672,7 @@ void ex_data_tunnel_catalog_free(int table_id, void **ad, long argl, void *argp) tsg_free_field(t_catalog->composition); tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_TUNNEL_CATALOG, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_TUNNEL_CATALOG, 1); } void ex_data_tunnel_catalog_dup(int table_id, void **to, void **from, long argl, void *argp) @@ -1690,7 +1690,7 @@ void ex_data_tunnel_endpoint_new(const char *table_name, int table_id, const cha atomic_inc(&t_endpoint->ref_cnt); *ad=(void *)t_endpoint; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_TUNNEL_ENDPOINT, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_TUNNEL_ENDPOINT, 1); return ; } @@ -1717,7 +1717,7 @@ void ex_data_tunnel_endpoint_free(int table_id, void **ad, long argl, void *argp tsg_free_field(t_endpoint->description); tsg_free_field((char *)(*ad)); *ad=NULL; - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_TUNNEL_ENDPOINT, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_TUNNEL_ENDPOINT, 1); } } } @@ -1731,7 +1731,7 @@ void ex_data_tunnel_label_new(const char *table_name, int table_id, const char* { int label_id=column_integer_get_value(table_line, 1); *ad=(void *)(long)label_id; - tsg_stat_sync_exdata_add_update(SYNC_EXDATA_TUNNEL_LABEL, 1); + tsg_stat_sync_exdata_add_update(SYNC_EXDATA_ROW_TUNNEL_LABEL, 1); return ; } @@ -1743,7 +1743,7 @@ void ex_data_tunnel_label_dup(int table_id, void **to, void **from, long argl, v void ex_data_tunnel_label_free(int table_id, void **ad, long argl, void *argp) { - tsg_stat_sync_exdata_del_update(SYNC_EXDATA_TUNNEL_LABEL, 1); + tsg_stat_sync_exdata_del_update(SYNC_EXDATA_ROW_TUNNEL_LABEL, 1); } int init_scan_table(struct maat *feather, const char *conffile) diff --git a/src/tsg_stat.cpp b/src/tsg_stat.cpp index 91df58e..73549d8 100644 --- a/src/tsg_stat.cpp +++ b/src/tsg_stat.cpp @@ -6,6 +6,13 @@ #include <MESA/fieldstat.h> #include <MESA/MESA_prof_load.h> +enum OP_EXDATA +{ + OP_EXDATA_ADD=0, + OP_EXDATA_DEL, + OP_EXDATA_MAX +}; + struct fs3_rule_stat { int table_id; @@ -55,8 +62,7 @@ struct fs3_sync_application struct fs3_sync_exdata { int table_id; - int add_column_id[SYNC_EXDATA_MAX]; - int del_column_id[SYNC_EXDATA_MAX]; + int column_id[SYNC_EXDATA_ROW_MAX][OP_EXDATA_MAX]; }; struct fs3_flow @@ -137,14 +143,14 @@ void tsg_stat_sync_ctrl_update(enum STAT_STATUS status, enum CTRL_SYNC column_id } } -void tsg_stat_sync_exdata_add_update(enum SYNC_EXDATA column_idx, long long increase) +void tsg_stat_sync_exdata_add_update(enum SYNC_EXDATA_ROW row_idx, long long increase) { - stat_update(g_rt_stat_para.exdata.add_column_id[column_idx], increase); + stat_update(g_rt_stat_para.exdata.column_id[row_idx][OP_EXDATA_ADD], increase); } -void tsg_stat_sync_exdata_del_update(enum SYNC_EXDATA column_idx, long long increase) +void tsg_stat_sync_exdata_del_update(enum SYNC_EXDATA_ROW row_idx, long long increase) { - stat_update(g_rt_stat_para.exdata.del_column_id[column_idx], increase); + stat_update(g_rt_stat_para.exdata.column_id[row_idx][OP_EXDATA_DEL], increase); } void tsg_stat_sync_application_update(enum SYNC_APP column_idx, long long increase) @@ -209,41 +215,45 @@ int tsg_stat_create(const char *conffile) fieldstat_set_line_protocol_server(g_rt_stat_para.fs_instance, fs_server_ip, fs_server_port); } -#if 0 - g_rt_stat_para.tags.key="vsys_id"; - g_rt_stat_para.tags.value_type=0; - g_rt_stat_para.tags.value_int=vsystem_id; -#endif - return 0; } int tsg_stat_init(void) { - enum field_type exdata_column_type[SYNC_EXDATA_MAX]={FIELD_TYPE_COUNTER}; - const char *exdata_column_name[SYNC_EXDATA_MAX]={"asn", "gtpc", "location", "fqdn_category", "subscriber", "compile", "mirror", "http_response", "dns_response", "app_id_dict", "tunnel_catalog", "tunnel_endpoint", "tunnel_label"}; - g_rt_stat_para.exdata.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "sync_exdata", exdata_column_name, exdata_column_type, SYNC_EXDATA_MAX); - fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "add", NULL, 0, g_rt_stat_para.exdata.add_column_id); - fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "del", NULL, 0, g_rt_stat_para.exdata.del_column_id); - - enum field_type flow_column_type[FLOW_STAT_MAX]={FIELD_TYPE_COUNTER}; + enum field_type exdata_column_type[OP_EXDATA_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; + const char *exdata_column_name[OP_EXDATA_MAX]={"add", "del"}; + g_rt_stat_para.exdata.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "sync_exdata", exdata_column_name, exdata_column_type, OP_EXDATA_MAX); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "asn", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_ASN]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "gtpc", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_GTPC]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "location", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_LOCATION]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "fqdn_category", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_FQDN_CATEGORY]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "subscriber", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_SUBSCRIBER]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "compile", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_COMPILE]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "http_response", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_HTTP_RESPONSE]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "dns_response", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_DNS_RESPONSE]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "app_id_dict", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_APP_ID_DICT]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "tunnel_catalog", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_TUNNEL_CATALOG]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "tunnel_endpoint", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_TUNNEL_ENDPOINT]); + fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.exdata.table_id, "tunnel_label", NULL, 0, g_rt_stat_para.exdata.column_id[SYNC_EXDATA_ROW_TUNNEL_LABEL]); + + enum field_type flow_column_type[FLOW_STAT_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; const char *flow_column_name[FLOW_STAT_MAX]={"inject", "mirror_pkts", "mirror_bytes", "set_timeout", "tamper"}; g_rt_stat_para.flow.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "flow", flow_column_name, flow_column_type, FLOW_STAT_MAX); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.flow.table_id, "success", NULL, 0, g_rt_stat_para.flow.success_column_id); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.flow.table_id, "fail", NULL, 0, g_rt_stat_para.flow.fail_column_id); - enum field_type app_sync_column_type[SYNC_APP_MAX]={FIELD_TYPE_COUNTER}; + enum field_type app_sync_column_type[SYNC_APP_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; const char *app_sync_column_name[SYNC_APP_MAX]={"lpi", "dpkt", "thrid", "user_define", "built_in"}; g_rt_stat_para.app.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "sync_application", app_sync_column_name, app_sync_column_type, SYNC_APP_MAX); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.app.table_id, "sum", NULL, 0, g_rt_stat_para.app.column_id); - enum field_type ctrl_sync_column_type[CTRL_SYNC_MAX]={FIELD_TYPE_COUNTER}; + enum field_type ctrl_sync_column_type[CTRL_SYNC_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; const char *ctrl_sync_column_name[CTRL_SYNC_MAX]={"unknown", "rstall", "opening", "activing", "updating", "closing"}; g_rt_stat_para.ctrl_sync.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "ctrl_stat", ctrl_sync_column_name, ctrl_sync_column_type, CTRL_SYNC_MAX); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.ctrl_sync.table_id, "success", NULL, 0, g_rt_stat_para.ctrl_sync.success_column_id); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.ctrl_sync.table_id, "fail", NULL, 0, g_rt_stat_para.ctrl_sync.fail_column_id); - enum field_type ctrl_service_column_type[CTRL_SERVICE_MAX]={FIELD_TYPE_COUNTER}; + enum field_type ctrl_service_column_type[CTRL_SERVICE_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; const char *ctrl_service_column_name[CTRL_SERVICE_MAX]={"unknown", "sce", "shaping", "intercept"}; g_rt_stat_para.ctrl_service.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "ctrl_service", ctrl_service_column_name, ctrl_service_column_type, CTRL_SERVICE_MAX); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.ctrl_service.table_id, "activing_success", NULL, 0, g_rt_stat_para.ctrl_service.success.activing_column_id); @@ -251,18 +261,18 @@ int tsg_stat_init(void) fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.ctrl_service.table_id, "updating_success", NULL, 0, g_rt_stat_para.ctrl_service.success.updating_column_id); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.ctrl_service.table_id, "updating_fail", NULL, 0, g_rt_stat_para.ctrl_service.fail.updating_column_id); - enum field_type rule_column_type[RULE_TYPE_MAX]={FIELD_TYPE_COUNTER}; + enum field_type rule_column_type[RULE_TYPE_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; const char *rule_column_name[RULE_TYPE_MAX]={"unknown", "shunt", "allow", "deny", "shaping", "intercept", "no_intercept", "service_chaining", "monitor"}; g_rt_stat_para.rule.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "matched_rule", rule_column_name, rule_column_type, RULE_TYPE_MAX); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.rule.table_id, "abort", NULL, 0, g_rt_stat_para.rule.abort_column_id); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.rule.table_id, "send", NULL, 0, g_rt_stat_para.rule.send_column_id); - enum field_type handle_column_type[LOG_HANDLE_MAX]={FIELD_TYPE_COUNTER}; + enum field_type handle_column_type[LOG_HANDLE_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; const char *handle_column_name[LOG_HANDLE_MAX]={"create", "dup", "append", "free_cnt", "free_size", "free_capacity"}; g_rt_stat_para.tld.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "tld_handle", handle_column_name, handle_column_type, LOG_HANDLE_MAX); fieldstat_register_table_row(g_rt_stat_para.fs_instance, g_rt_stat_para.tld.table_id, "handle", NULL, 0, g_rt_stat_para.tld.column_id); - enum field_type sendlog_column_type[LOG_STATUS_MAX]={FIELD_TYPE_COUNTER}; + enum field_type sendlog_column_type[LOG_STATUS_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE}; const char *sendlog_column_name[LOG_STATUS_MAX]={"T_success_log", "T_fail_log", "T_drop_log", "success_log/s", "fail_log/s", "drop_log/s"}; g_rt_stat_para.sendlog.table_id=fieldstat_register_table(g_rt_stat_para.fs_instance, "sendlog", sendlog_column_name, sendlog_column_type, LOG_STATUS_MAX); diff --git a/src/tsg_stat.h b/src/tsg_stat.h index 691b000..078d67d 100644 --- a/src/tsg_stat.h +++ b/src/tsg_stat.h @@ -28,23 +28,24 @@ enum SYNC_APP SYNC_APP_MAX }; -//table: asn, gtpc, location, fqdn_category, subscriber, compile, mirror, http_response, dns_response, app_id_dict, tunnel_catalog, tunnel_endpoint, tunnel_label -enum SYNC_EXDATA +//table: add del +//asn, gtpc, location, fqdn_category, subscriber, compile, mirror, http_response, dns_response, app_id_dict, tunnel_catalog, tunnel_endpoint, tunnel_label +enum SYNC_EXDATA_ROW { - SYNC_EXDATA_ASN=0, - SYNC_EXDATA_GTPC, - SYNC_EXDATA_LOCATION, - SYNC_EXDATA_FQDN_CATEGORY, - SYNC_EXDATA_SUBSCRIBER, - SYNC_EXDATA_COMPILE, - SYNC_EXDATA_MIRRORED, - SYNC_EXDATA_HTTP_RESPONSE, - SYNC_EXDATA_DNS_RESPONSE, - SYNC_EXDATA_APP_ID_DICT, - SYNC_EXDATA_TUNNEL_CATALOG, - SYNC_EXDATA_TUNNEL_ENDPOINT, - SYNC_EXDATA_TUNNEL_LABEL, - SYNC_EXDATA_MAX + SYNC_EXDATA_ROW_ASN=0, + SYNC_EXDATA_ROW_GTPC, + SYNC_EXDATA_ROW_LOCATION, + SYNC_EXDATA_ROW_FQDN_CATEGORY, + SYNC_EXDATA_ROW_SUBSCRIBER, + SYNC_EXDATA_ROW_COMPILE, + SYNC_EXDATA_ROW_MIRRORED, + SYNC_EXDATA_ROW_HTTP_RESPONSE, + SYNC_EXDATA_ROW_DNS_RESPONSE, + SYNC_EXDATA_ROW_APP_ID_DICT, + SYNC_EXDATA_ROW_TUNNEL_CATALOG, + SYNC_EXDATA_ROW_TUNNEL_ENDPOINT, + SYNC_EXDATA_ROW_TUNNEL_LABEL, + SYNC_EXDATA_ROW_MAX }; //table: success, success/s, fail, fail/s, drop, drop/s @@ -119,8 +120,8 @@ void tsg_stat_start(void); void tsg_stat_abort_rule_update(enum RULE_TYPE column_idx, long long increase); void tsg_stat_send_rule_update(enum RULE_TYPE column_idx, long long increase); void tsg_stat_log_handle_update(enum LOG_HANDLE column_idx, long long increase); -void tsg_stat_sync_exdata_add_update(enum SYNC_EXDATA column_idx, long long increase); -void tsg_stat_sync_exdata_del_update(enum SYNC_EXDATA column_idx, long long increase); +void tsg_stat_sync_exdata_add_update(enum SYNC_EXDATA_ROW row_idx, long long increase); +void tsg_stat_sync_exdata_del_update(enum SYNC_EXDATA_ROW row_idx, long long increase); void tsg_stat_sync_application_update(enum SYNC_APP column_idx, long long increase); void tsg_stat_sendlog_update(int row_idx, enum LOG_STATUS column_idx, long long increase); void tsg_stat_flow_update(enum STAT_STATUS status, enum FLOW_STAT column_idx, long long increase); |
