fix/TD-31891-remove-void-monitor

This commit is contained in:
dmchen 2024-09-20 10:55:19 +00:00
parent 4326d4a04e
commit 198015cd8a
1 changed files with 57 additions and 16 deletions

View File

@ -88,17 +88,46 @@ int taos_metric_formatter_load_sample_new(taos_metric_formatter_t *self, taos_me
char* value = *(pair + 1); char* value = *(pair + 1);
SJson* tag = tjsonCreateObject(); SJson* tag = tjsonCreateObject();
(void)tjsonAddStringToObject(tag, "name", key); if ((r = tjsonAddStringToObject(tag, "name", key)) != 0) {
(void)tjsonAddStringToObject(tag, "value", value); taosMemoryFreeClear(arr);
taosMemoryFreeClear(keyvalue);
(void)tjsonAddItemToArray(arrayTag, tag); taosMemoryFreeClear(keyvalues);
return r;
}
if ((r = tjsonAddStringToObject(tag, "value", value)) != 0) {
taosMemoryFreeClear(arr);
taosMemoryFreeClear(keyvalue);
taosMemoryFreeClear(keyvalues);
return r;
}
if ((r = tjsonAddItemToArray(arrayTag, tag)) != 0) {
taosMemoryFreeClear(arr);
taosMemoryFreeClear(keyvalue);
taosMemoryFreeClear(keyvalues);
return r;
}
}
if ((r = tjsonAddItemToObject(item, "tags", arrayTag)) != 0) {
taosMemoryFreeClear(arr);
taosMemoryFreeClear(keyvalue);
taosMemoryFreeClear(keyvalues);
return r;
} }
(void)tjsonAddItemToObject(item, "tags", arrayTag);
metrics = tjsonCreateArray(); metrics = tjsonCreateArray();
(void)tjsonAddItemToObject(item, "metrics", metrics); if ((r = tjsonAddItemToObject(item, "metrics", metrics)) != 0) {
taosMemoryFreeClear(arr);
taosMemoryFreeClear(keyvalue);
taosMemoryFreeClear(keyvalues);
return r;
}
(void)tjsonAddItemToArray(arrayMetricGroups, item); if ((r = tjsonAddItemToArray(arrayMetricGroups, item)) != 0) {
taosMemoryFreeClear(arr);
taosMemoryFreeClear(keyvalue);
taosMemoryFreeClear(keyvalues);
return r;
}
} }
else{ else{
metrics = tjsonGetObjectItem(item, "metrics"); metrics = tjsonGetObjectItem(item, "metrics");
@ -109,20 +138,20 @@ int taos_metric_formatter_load_sample_new(taos_metric_formatter_t *self, taos_me
taosMemoryFreeClear(keyvalues); taosMemoryFreeClear(keyvalues);
SJson* metric = tjsonCreateObject(); SJson* metric = tjsonCreateObject();
(void)tjsonAddStringToObject(metric, "name", metricName); if ((r = tjsonAddStringToObject(metric, "name", metricName)) != 0) return r;
double old_value = 0; double old_value = 0;
#define USE_EXCHANGE #define USE_EXCHANGE
#ifdef USE_EXCHANGE #ifdef USE_EXCHANGE
(void)taos_metric_sample_exchange(sample, 0, &old_value); if ((r = taos_metric_sample_exchange(sample, 0, &old_value)) != 0) return r;
#else #else
old_value = sample->r_value; old_value = sample->r_value;
taos_metric_sample_set(sample, 0); taos_metric_sample_set(sample, 0);
#endif #endif
(void)tjsonAddDoubleToObject(metric, "value", old_value); if ((r = tjsonAddDoubleToObject(metric, "value", old_value)) != 0) return r;
(void)tjsonAddDoubleToObject(metric, "type", metric_type); if ((r = tjsonAddDoubleToObject(metric, "type", metric_type)) != 0) return r;
(void)tjsonAddItemToArray(metrics, metric); if ((r = tjsonAddItemToArray(metrics, metric)) != 0) return r;
return 0; return 0;
} }
@ -150,7 +179,10 @@ int taos_metric_formatter_load_metric_new(taos_metric_formatter_t *self, taos_me
SJson* table = tjsonGetArrayItem(tableArray, i); SJson* table = tjsonGetArrayItem(tableArray, i);
char tableName[MONITOR_TABLENAME_LEN] = {0}; char tableName[MONITOR_TABLENAME_LEN] = {0};
(void)tjsonGetStringValue(table, "name", tableName); if ((r = tjsonGetStringValue(table, "name", tableName)) != 0) {
taosMemoryFreeClear(name);
return r;
}
if(strcmp(tableName, arr[0]) == 0){ if(strcmp(tableName, arr[0]) == 0){
isFound = true; isFound = true;
arrayMetricGroups = tjsonGetObjectItem(table, "metric_groups"); arrayMetricGroups = tjsonGetObjectItem(table, "metric_groups");
@ -161,10 +193,16 @@ int taos_metric_formatter_load_metric_new(taos_metric_formatter_t *self, taos_me
if(!isFound){ if(!isFound){
table = tjsonCreateObject(); table = tjsonCreateObject();
(void)tjsonAddStringToObject(table, "name", arr[0]); if ((r = tjsonAddStringToObject(table, "name", arr[0])) != 0) {
taosMemoryFreeClear(name);
return r;
}
arrayMetricGroups = tjsonCreateArray(); arrayMetricGroups = tjsonCreateArray();
(void)tjsonAddItemToObject(table, "metric_groups", arrayMetricGroups); if ((r = tjsonAddItemToObject(table, "metric_groups", arrayMetricGroups)) != 0) {
taosMemoryFreeClear(name);
return r;
}
} }
int32_t sample_count = 0; int32_t sample_count = 0;
@ -183,7 +221,10 @@ int taos_metric_formatter_load_metric_new(taos_metric_formatter_t *self, taos_me
} }
if(!isFound && sample_count > 0){ if(!isFound && sample_count > 0){
(void)tjsonAddItemToArray(tableArray, table); if ((r = tjsonAddItemToArray(tableArray, table)) != 0) {
taosMemoryFreeClear(name);
return r;
}
} }
else{ else{
if(table != NULL) tjsonDelete(table); if(table != NULL) tjsonDelete(table);