使用gauge类型输出统计
This commit is contained in:
@@ -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);
|
atomic_inc(&user_info->ref_cnt);
|
||||||
*ad=(void *)user_info;
|
*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;
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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);
|
atomic_inc(&asn->ref_cnt);
|
||||||
*ad=(void *)asn;
|
*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;
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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);
|
atomic_inc(&location->ref_cnt);
|
||||||
*ad=(void *)location;
|
*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(country_full);
|
||||||
tsg_free_field(province_full);
|
tsg_free_field(province_full);
|
||||||
tsg_free_field(city_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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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;
|
*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;
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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);
|
atomic_inc(&subscriber->ref_cnt);
|
||||||
*ad=(void *)subscriber;
|
*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;
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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;
|
*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)
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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;
|
*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 ;
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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;
|
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)
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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;
|
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 ;
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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);
|
tsg_free_field(vlan_ids_str);
|
||||||
vlan_ids_str=NULL;
|
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 ;
|
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));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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);
|
t_catalog->composition=column_string_get_value(table_line, 4);
|
||||||
|
|
||||||
*ad=(void *)t_catalog;
|
*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)
|
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(t_catalog->composition);
|
||||||
tsg_free_field((char *)(*ad));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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)
|
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);
|
atomic_inc(&t_endpoint->ref_cnt);
|
||||||
*ad=(void *)t_endpoint;
|
*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 ;
|
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(t_endpoint->description);
|
||||||
tsg_free_field((char *)(*ad));
|
tsg_free_field((char *)(*ad));
|
||||||
*ad=NULL;
|
*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);
|
int label_id=column_integer_get_value(table_line, 1);
|
||||||
*ad=(void *)(long)label_id;
|
*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 ;
|
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)
|
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)
|
int init_scan_table(struct maat *feather, const char *conffile)
|
||||||
|
|||||||
@@ -6,6 +6,13 @@
|
|||||||
#include <MESA/fieldstat.h>
|
#include <MESA/fieldstat.h>
|
||||||
#include <MESA/MESA_prof_load.h>
|
#include <MESA/MESA_prof_load.h>
|
||||||
|
|
||||||
|
enum OP_EXDATA
|
||||||
|
{
|
||||||
|
OP_EXDATA_ADD=0,
|
||||||
|
OP_EXDATA_DEL,
|
||||||
|
OP_EXDATA_MAX
|
||||||
|
};
|
||||||
|
|
||||||
struct fs3_rule_stat
|
struct fs3_rule_stat
|
||||||
{
|
{
|
||||||
int table_id;
|
int table_id;
|
||||||
@@ -55,8 +62,7 @@ struct fs3_sync_application
|
|||||||
struct fs3_sync_exdata
|
struct fs3_sync_exdata
|
||||||
{
|
{
|
||||||
int table_id;
|
int table_id;
|
||||||
int add_column_id[SYNC_EXDATA_MAX];
|
int column_id[SYNC_EXDATA_ROW_MAX][OP_EXDATA_MAX];
|
||||||
int del_column_id[SYNC_EXDATA_MAX];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct fs3_flow
|
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)
|
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);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int tsg_stat_init(void)
|
int tsg_stat_init(void)
|
||||||
{
|
{
|
||||||
enum field_type exdata_column_type[SYNC_EXDATA_MAX]={FIELD_TYPE_COUNTER};
|
enum field_type exdata_column_type[OP_EXDATA_MAX]={FIELD_TYPE_GAUGE, FIELD_TYPE_GAUGE};
|
||||||
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"};
|
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, SYNC_EXDATA_MAX);
|
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, "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, "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, "del", NULL, 0, g_rt_stat_para.exdata.del_column_id);
|
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_COUNTER};
|
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"};
|
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);
|
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, "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);
|
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"};
|
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);
|
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);
|
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"};
|
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);
|
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, "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);
|
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"};
|
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);
|
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);
|
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_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);
|
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"};
|
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);
|
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, "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);
|
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"};
|
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);
|
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);
|
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"};
|
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);
|
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);
|
||||||
|
|
||||||
|
|||||||
@@ -28,23 +28,24 @@ enum SYNC_APP
|
|||||||
SYNC_APP_MAX
|
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
|
//table: add del
|
||||||
enum SYNC_EXDATA
|
//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_ROW_ASN=0,
|
||||||
SYNC_EXDATA_GTPC,
|
SYNC_EXDATA_ROW_GTPC,
|
||||||
SYNC_EXDATA_LOCATION,
|
SYNC_EXDATA_ROW_LOCATION,
|
||||||
SYNC_EXDATA_FQDN_CATEGORY,
|
SYNC_EXDATA_ROW_FQDN_CATEGORY,
|
||||||
SYNC_EXDATA_SUBSCRIBER,
|
SYNC_EXDATA_ROW_SUBSCRIBER,
|
||||||
SYNC_EXDATA_COMPILE,
|
SYNC_EXDATA_ROW_COMPILE,
|
||||||
SYNC_EXDATA_MIRRORED,
|
SYNC_EXDATA_ROW_MIRRORED,
|
||||||
SYNC_EXDATA_HTTP_RESPONSE,
|
SYNC_EXDATA_ROW_HTTP_RESPONSE,
|
||||||
SYNC_EXDATA_DNS_RESPONSE,
|
SYNC_EXDATA_ROW_DNS_RESPONSE,
|
||||||
SYNC_EXDATA_APP_ID_DICT,
|
SYNC_EXDATA_ROW_APP_ID_DICT,
|
||||||
SYNC_EXDATA_TUNNEL_CATALOG,
|
SYNC_EXDATA_ROW_TUNNEL_CATALOG,
|
||||||
SYNC_EXDATA_TUNNEL_ENDPOINT,
|
SYNC_EXDATA_ROW_TUNNEL_ENDPOINT,
|
||||||
SYNC_EXDATA_TUNNEL_LABEL,
|
SYNC_EXDATA_ROW_TUNNEL_LABEL,
|
||||||
SYNC_EXDATA_MAX
|
SYNC_EXDATA_ROW_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
//table: success, success/s, fail, fail/s, drop, drop/s
|
//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_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_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_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_add_update(enum SYNC_EXDATA_ROW row_idx, long long 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);
|
||||||
void tsg_stat_sync_application_update(enum SYNC_APP column_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_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);
|
void tsg_stat_flow_update(enum STAT_STATUS status, enum FLOW_STAT column_idx, long long increase);
|
||||||
|
|||||||
Reference in New Issue
Block a user