diff options
| author | fengweihao <[email protected]> | 2023-05-10 17:51:57 +0800 |
|---|---|---|
| committer | fengweihao <[email protected]> | 2023-05-10 17:51:57 +0800 |
| commit | 2a55a2be7504a39dd19b4ea2ff2f73c4a0be35f2 (patch) | |
| tree | aabf3c11720cb382f576c0e9dc983d1b15773b21 /common | |
| parent | 542f4cbdfa6f58dd8a07e35663116a08f54170bd (diff) | |
bugfix:修复管控策略Policy Hits Metrics误发送pinning_status,根据route_dir发送字节数
Diffstat (limited to 'common')
| -rw-r--r-- | common/include/tfe_fieldstat.h | 4 | ||||
| -rw-r--r-- | common/src/tfe_fieldstat.cpp | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/common/include/tfe_fieldstat.h b/common/include/tfe_fieldstat.h index de472f3..1126feb 100644 --- a/common/include/tfe_fieldstat.h +++ b/common/include/tfe_fieldstat.h @@ -23,9 +23,9 @@ enum metric_tags_index { TAG_VSYS_ID = 0, TAG_RULE_ID, - TAG_PINNING_STATUS, TAG_ACTION, TAG_SUB_ACTION, + TAG_PINNING_STATUS, TAG_MAX }; @@ -39,7 +39,7 @@ struct tfe_fieldstat_metric_t }; void tfe_set_intercept_metric(struct tfe_stream *stream, int hit_count, int downstream_rx_pkts, int downstream_rx_bytes, int upstream_rx_pkts, int upstream_rx_bytes); -int tfe_fieldstat_metric_incrby(struct tfe_fieldstat_metric_t *fieldstat, unsigned int column_id, long long value, const struct fieldstat_tag tags[], int thread_id); +int tfe_fieldstat_metric_incrby(struct tfe_fieldstat_metric_t *fieldstat, unsigned int column_id, long long value, const struct fieldstat_tag tags[], int n_tags, int thread_id); struct tfe_fieldstat_metric_t *tfe_fieldstat_metric_create(char *telegraf_ip, int telegraf_port, char *app_name, int cycle, int max_thread, void *local_logger); void tfe_fieldstat_metric_destroy(struct tfe_fieldstat_metric_t *fieldstat); diff --git a/common/src/tfe_fieldstat.cpp b/common/src/tfe_fieldstat.cpp index b6e815c..6e37d58 100644 --- a/common/src/tfe_fieldstat.cpp +++ b/common/src/tfe_fieldstat.cpp @@ -150,16 +150,16 @@ void tfe_set_intercept_metric(struct tfe_stream *stream, int hit_count, int down } } -int tfe_fieldstat_metric_incrby(struct tfe_fieldstat_metric_t *fieldstat, unsigned int column_id, long long value, const struct fieldstat_tag tags[], int thread_id) +int tfe_fieldstat_metric_incrby(struct tfe_fieldstat_metric_t *fieldstat, unsigned int column_id, long long value, const struct fieldstat_tag tags[], int n_tags, int thread_id) { - return fieldstat_dynamic_table_metric_value_incrby(fieldstat->instance, fieldstat->table_id, column_id, "proxy_rule_hits", value, tags, (size_t)TAG_MAX, thread_id); + return fieldstat_dynamic_table_metric_value_incrby(fieldstat->instance, fieldstat->table_id, column_id, "proxy_rule_hits", value, tags, (size_t)n_tags, thread_id); } struct tfe_fieldstat_metric_t *tfe_fieldstat_metric_create(char *telegraf_ip, int telegraf_port, char *app_name, int cycle, int max_thread, void *local_logger) { int i=0; - struct fieldstat_tag metric_tags[TAG_MAX] = {{"vsys_id", 0, -1}, {"rule_id", 0, -1}, {"pinning_status", 0, -1 }, {"action", 0, -1}, {"sub_action", 2, -1} }; + struct fieldstat_tag metric_tags[TAG_MAX - 1] = {{"vsys_id", 0, -1}, {"rule_id", 0, -1}, {"action", 0, -1}, {"sub_action", 2, -1}}; const char *column_field[COLUMN_MAX] = {"hit_count", "in_bytes", "out_bytes", "in_pkts", "out_pkts"}; enum field_type column_type[COLUMN_MAX] = {FIELD_TYPE_COUNTER, FIELD_TYPE_COUNTER, FIELD_TYPE_COUNTER, FIELD_TYPE_COUNTER, FIELD_TYPE_COUNTER}; @@ -187,8 +187,8 @@ struct tfe_fieldstat_metric_t *tfe_fieldstat_metric_create(char *telegraf_ip, in fieldstat->tags = ALLOC(struct fieldstat_tag*, max_thread); for (i = 0; i < max_thread; i++) { - fieldstat->tags[i] = ALLOC(struct fieldstat_tag, TAG_MAX); - memcpy(fieldstat->tags[i], metric_tags, sizeof(struct fieldstat_tag) * (size_t)TAG_MAX); + fieldstat->tags[i] = ALLOC(struct fieldstat_tag, TAG_MAX-1); + memcpy(fieldstat->tags[i], metric_tags, sizeof(struct fieldstat_tag) * (size_t)(TAG_MAX-1)); } fieldstat_dynamic_instance_start(fieldstat->instance); |
