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);
SJson* tag = tjsonCreateObject();
(void)tjsonAddStringToObject(tag, "name", key);
(void)tjsonAddStringToObject(tag, "value", value);
(void)tjsonAddItemToArray(arrayTag, tag);
if ((r = tjsonAddStringToObject(tag, "name", key)) != 0) {
taosMemoryFreeClear(arr);
taosMemoryFreeClear(keyvalue);
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();
(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{
metrics = tjsonGetObjectItem(item, "metrics");
@ -109,20 +138,20 @@ int taos_metric_formatter_load_sample_new(taos_metric_formatter_t *self, taos_me
taosMemoryFreeClear(keyvalues);
SJson* metric = tjsonCreateObject();
(void)tjsonAddStringToObject(metric, "name", metricName);
if ((r = tjsonAddStringToObject(metric, "name", metricName)) != 0) return r;
double old_value = 0;
#define 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
old_value = sample->r_value;
taos_metric_sample_set(sample, 0);
#endif
(void)tjsonAddDoubleToObject(metric, "value", old_value);
(void)tjsonAddDoubleToObject(metric, "type", metric_type);
(void)tjsonAddItemToArray(metrics, metric);
if ((r = tjsonAddDoubleToObject(metric, "value", old_value)) != 0) return r;
if ((r = tjsonAddDoubleToObject(metric, "type", metric_type)) != 0) return r;
if ((r = tjsonAddItemToArray(metrics, metric)) != 0) return r;
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);
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){
isFound = true;
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){
table = tjsonCreateObject();
(void)tjsonAddStringToObject(table, "name", arr[0]);
if ((r = tjsonAddStringToObject(table, "name", arr[0])) != 0) {
taosMemoryFreeClear(name);
return r;
}
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;
@ -183,7 +221,10 @@ int taos_metric_formatter_load_metric_new(taos_metric_formatter_t *self, taos_me
}
if(!isFound && sample_count > 0){
(void)tjsonAddItemToArray(tableArray, table);
if ((r = tjsonAddItemToArray(tableArray, table)) != 0) {
taosMemoryFreeClear(name);
return r;
}
}
else{
if(table != NULL) tjsonDelete(table);