Merge remote-tracking branch 'origin/main-1' into main-1

This commit is contained in:
hxy7yx
2023-11-01 13:45:28 +08:00
9 changed files with 129 additions and 77 deletions
+4 -3
View File
@@ -771,14 +771,15 @@ static int adapter_loop(enum neu_event_io_type type, int fd, void *usr_data)
break;
}
case NEU_REQ_GET_NODE_STATE: {
neu_resp_get_node_state_t *resp = (neu_resp_get_node_state_t *) &header[1];
neu_resp_get_node_state_t *resp =
(neu_resp_get_node_state_t *) &header[1];
neu_metric_entry_t *e = NULL;
if (NULL != adapter->metrics) {
HASH_FIND_STR(adapter->metrics->entries, NEU_METRIC_LAST_RTT_MS, e);
}
resp->rtt = NULL != e ? e->value : 0;
resp->state = neu_adapter_get_state(adapter);
resp->rtt = NULL != e ? e->value : 0;
resp->state = neu_adapter_get_state(adapter);
header->type = NEU_RESP_GET_NODE_STATE;
neu_msg_exchange(header);
reply(adapter, header, resp);
+41 -34
View File
@@ -1160,10 +1160,11 @@ static int manager_loop(enum neu_event_io_type type, int fd, void *usr_data)
case NEU_REQ_GET_NODES_STATE: {
neu_resp_get_nodes_state_t resp = { 0 };
UT_array *states = neu_node_manager_get_state(manager->node_manager);
neu_adapter_t *adapter_core = neu_node_manager_find(manager->node_manager, "default-dashboard");
neu_adapter_t *adapter_core =
neu_node_manager_find(manager->node_manager, "default-dashboard");
strcpy(resp.core_level,
neu_plugin_to_plugin_common(adapter_core->plugin)->log_level);
neu_plugin_to_plugin_common(adapter_core->plugin)->log_level);
resp.states = utarray_clone(states);
strcpy(header->receiver, header->sender);
@@ -1218,10 +1219,13 @@ static int manager_loop(enum neu_event_io_type type, int fd, void *usr_data)
neu_msg_exchange(header);
reply(manager, header, &e);
} else {
neu_resp_get_node_state_t *resp = (neu_resp_get_node_state_t *) &header[1];
neu_adapter_t *adapter_core = neu_node_manager_find(manager->node_manager, "default-dashboard");
strcpy(resp->core_level,
neu_plugin_to_plugin_common(adapter_core->plugin)->log_level);
neu_resp_get_node_state_t *resp =
(neu_resp_get_node_state_t *) &header[1];
neu_adapter_t *adapter_core = neu_node_manager_find(
manager->node_manager, "default-dashboard");
strcpy(
resp->core_level,
neu_plugin_to_plugin_common(adapter_core->plugin)->log_level);
forward_msg(manager, header, header->receiver);
}
@@ -1482,65 +1486,68 @@ static int manager_loop(enum neu_event_io_type type, int fd, void *usr_data)
}
break;
}
case NEU_REQ_UPDATE_LOG_LEVEL:
case NEU_REQ_UPDATE_LOG_LEVEL: {
neu_req_update_log_level_t *cmd =
(neu_req_update_log_level_t *) &header[1];
if (cmd->core) {
if (strcmp(header->receiver, "") == 0) {
neu_adapter_t *adapter_core = neu_node_manager_find(manager->node_manager, "default-dashboard");
strcpy(neu_plugin_to_plugin_common(adapter_core->plugin)->log_level,
cmd->log_level);
neu_adapter_t *adapter_core = neu_node_manager_find(
manager->node_manager, "default-dashboard");
strcpy(neu_plugin_to_plugin_common(adapter_core->plugin)
->log_level,
cmd->log_level);
neu_resp_error_t error = { 0 };
neu_msg_exchange(header);
header->type = NEU_RESP_ERROR;
reply(manager, header, &error);
} else {
if (neu_node_manager_find(manager->node_manager, header->receiver) ==
NULL) {
if (neu_node_manager_find(manager->node_manager,
header->receiver) == NULL) {
neu_resp_error_t e = { .error = NEU_ERR_NODE_NOT_EXIST };
header->type = NEU_RESP_ERROR;
neu_msg_exchange(header);
reply(manager, header, &e);
} else {
neu_adapter_t *adapter_core = neu_node_manager_find(manager->node_manager, "default-dashboard");
strcpy(neu_plugin_to_plugin_common(adapter_core->plugin)->log_level,
cmd->log_level);
neu_req_update_log_level_t *cmd =
(neu_req_update_log_level_t *) &header[1];
neu_adapter_t *adapter_log =
neu_node_manager_find(manager->node_manager, header->receiver);
strcpy(neu_plugin_to_plugin_common(adapter_log->plugin)->log_level,
cmd->log_level);
neu_adapter_t *adapter_core = neu_node_manager_find(
manager->node_manager, "default-dashboard");
strcpy(neu_plugin_to_plugin_common(adapter_core->plugin)
->log_level,
cmd->log_level);
neu_adapter_t *adapter_log = neu_node_manager_find(
manager->node_manager, header->receiver);
strcpy(neu_plugin_to_plugin_common(adapter_log->plugin)
->log_level,
cmd->log_level);
forward_msg(manager, header, header->receiver);
}
}
} else {
if (strcmp(header->receiver, "") == 0) {
neu_resp_error_t e = { .error = NEU_ERR_PARAM_IS_WRONG };
header->type = NEU_RESP_ERROR;
neu_msg_exchange(header);
reply(manager, header, &e);
neu_resp_error_t e = { .error = NEU_ERR_PARAM_IS_WRONG };
header->type = NEU_RESP_ERROR;
neu_msg_exchange(header);
reply(manager, header, &e);
} else {
if (neu_node_manager_find(manager->node_manager, header->receiver) ==
NULL) {
if (neu_node_manager_find(manager->node_manager,
header->receiver) == NULL) {
neu_resp_error_t e = { .error = NEU_ERR_NODE_NOT_EXIST };
header->type = NEU_RESP_ERROR;
neu_msg_exchange(header);
reply(manager, header, &e);
} else {
neu_req_update_log_level_t *cmd =
(neu_req_update_log_level_t *) &header[1];
neu_adapter_t *adapter_log =
neu_node_manager_find(manager->node_manager, header->receiver);
strcpy(neu_plugin_to_plugin_common(adapter_log->plugin)->log_level,
cmd->log_level);
neu_adapter_t *adapter_log = neu_node_manager_find(
manager->node_manager, header->receiver);
strcpy(neu_plugin_to_plugin_common(adapter_log->plugin)
->log_level,
cmd->log_level);
forward_msg(manager, header, header->receiver);
}
}
}
break;
}
default:
assert(false);
break;
+15 -13
View File
@@ -45,19 +45,21 @@ int neu_json_decode_update_log_level_req(
req->node_name = NULL;
req->core = true;
neu_json_elem_t req_elems[] = { {
.name = "node",
.t = NEU_JSON_STR,
.attribute = NEU_JSON_ATTRIBUTE_OPTIONAL,
},
{
.name = "level",
.t = NEU_JSON_STR,
},
{
.name = "core",
.attribute = NEU_JSON_ATTRIBUTE_OPTIONAL,
}};
neu_json_elem_t req_elems[] = {
{
.name = "node",
.t = NEU_JSON_STR,
.attribute = NEU_JSON_ATTRIBUTE_OPTIONAL,
},
{
.name = "level",
.t = NEU_JSON_STR,
},
{
.name = "core",
.attribute = NEU_JSON_ATTRIBUTE_OPTIONAL,
}
};
ret = neu_json_decode_by_json(json_obj, NEU_JSON_ELEM_SIZE(req_elems),
req_elems);
+10 -11
View File
@@ -240,17 +240,16 @@ int neu_json_encode_get_nodes_state_resp(void *json_object, void *param)
p_node++;
}
neu_json_elem_t resp_elems[] = {
{
.name = "states",
.t = NEU_JSON_OBJECT,
.v.val_object = node_array,
},
{
.name = "neuron_core",
.t = NEU_JSON_STR,
.v.val_str = resp->core_level,
}};
neu_json_elem_t resp_elems[] = { {
.name = "states",
.t = NEU_JSON_OBJECT,
.v.val_object = node_array,
},
{
.name = "neuron_core",
.t = NEU_JSON_STR,
.v.val_str = resp->core_level,
} };
ret = neu_json_encode_field(json_object, resp_elems,
NEU_JSON_ELEM_SIZE(resp_elems));