Compare commits

..
20 Commits
Author SHA1 Message Date
fengzeroz 829c14ed39 Merge pull request #1029 from fengzeroz/v2.3
version: 2.3.4
2023-01-13 09:48:25 +08:00
fengzero 4d81fa9a7f version: 2.3.4 2023-01-13 01:47:52 +00:00
fengzeroz ee50f5328c Merge pull request #1025 from eeff/eeff/2.3
Pick to v2.3: add node state metrics
2023-01-12 09:31:42 +08:00
eeff 639e8fb9ab feat(monitor): add node state metrics 2023-01-11 11:00:40 +08:00
fengzeroz 3a7016dc92 Merge pull request #1021 from fengzeroz/v2.3
version: 2.3.3
2023-01-06 16:19:42 +08:00
fengzero 2d0c0a120a version: 2.3.3 2023-01-06 08:19:07 +00:00
fengzeroz 3bd8fddc03 Merge pull request #1013 from fengzeroz/v2.3
version: 2.3.1
2022-12-30 09:47:22 +08:00
fengzero 770f797272 version: 2.3.1 2022-12-30 01:46:54 +00:00
fengzeroz eb5c7462e1 Merge pull request #1011 from fengzeroz/v2.3
V2.3
2022-12-30 09:43:38 +08:00
fengzero 34f0b19b81 add timestamp in trans_data 2022-12-30 01:43:06 +00:00
fengzero 105f1e64a7 reduce the frequency of timestamp update 2022-12-30 01:42:50 +00:00
fengzeroz f35e459a1c Merge pull request #1008 from fengzeroz/v2.3
fix compile warning
2022-12-29 11:33:20 +08:00
fengzero 3ad96be5a3 fix compile warning 2022-12-29 03:32:24 +00:00
fengzeroz 8ef1b843ca Merge pull request #1005 from fengzeroz/v2.3
V2.3
2022-12-28 15:12:42 +08:00
fengzero 87ba865774 del report state timer 2022-12-28 07:11:29 +00:00
fengzero 582bf17b28 manager timer type 2022-12-28 07:09:34 +00:00
fengzeroz 6d93894c15 Merge pull request #1001 from fengzeroz/v2.3
fix group timer
2022-12-26 15:25:34 +08:00
fengzero 5dfa8484b1 fix group timer 2022-12-26 07:24:07 +00:00
fengzeroz fe2b827655 Merge pull request #999 from fengzeroz/v2.3
fix group timer
2022-12-26 15:22:28 +08:00
fengzero 3dfdc2a18b fix group timer 2022-12-26 07:20:01 +00:00
11 changed files with 33 additions and 58 deletions
+2 -2
View File
@@ -8,8 +8,8 @@ on:
- published
env:
VERSION: 2.3.1
UI_VERSION: 2.3.1
VERSION: 2.3.4
UI_VERSION: 2.3.2
BRANCH: v2.3
jobs:
+1
View File
@@ -414,6 +414,7 @@ typedef struct {
typedef struct {
char driver[NEU_NODE_NAME_LEN];
char group[NEU_GROUP_NAME_LEN];
int64_t timestamp;
uint16_t n_tag;
neu_resp_tag_value_t tags[];
} neu_reqresp_trans_data_t;
+10
View File
@@ -39,6 +39,16 @@ typedef enum {
NEU_METRIC_TYPE_COUNTER_SET,
} neu_metric_type_e;
// node running state
#define NEU_METRIC_RUNNING_STATE "running_state"
#define NEU_METRIC_RUNNING_STATE_TYPE NEU_METRIC_TYPE_GAUAGE
#define NEU_METRIC_RUNNING_STATE_HELP "Node running state"
// node link state
#define NEU_METRIC_LINK_STATE "link_state"
#define NEU_METRIC_LINK_STATE_TYPE NEU_METRIC_TYPE_GAUAGE
#define NEU_METRIC_LINK_STATE_HELP "Node link state"
// last round trip time in millisends
#define NEU_METRIC_LAST_RTT_MS "last_rtt_ms"
#define NEU_METRIC_LAST_RTT_MS_TYPE NEU_METRIC_TYPE_GAUAGE
+1
View File
@@ -27,6 +27,7 @@ extern "C" {
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "errcodes.h"
+1 -1
View File
@@ -201,7 +201,7 @@ int json_encode_read_resp(void *json_object, void *param)
json_read_resp_header_t header = { .group_name = trans_data->group,
.node_name = trans_data->driver,
.timestamp = global_timestamp };
.timestamp = trans_data->timestamp };
ret = json_encode_read_resp_header(json_object, &header);
if (0 != ret) {
+8
View File
@@ -67,6 +67,10 @@ static const adapter_callbacks_t callback_funs = {
adapter_register_metric(adapter, name, name##_HELP, name##_TYPE, init);
#define REGISTER_DRIVER_METRICS(adapter) \
REGISTER_METRIC(adapter, NEU_METRIC_LINK_STATE, \
NEU_NODE_LINK_STATE_DISCONNECTED); \
REGISTER_METRIC(adapter, NEU_METRIC_RUNNING_STATE, \
NEU_NODE_RUNNING_STATE_INIT); \
REGISTER_METRIC(adapter, NEU_METRIC_LAST_RTT_MS, \
NEU_METRIC_LAST_RTT_MS_MAX); \
REGISTER_METRIC(adapter, NEU_METRIC_SEND_BYTES, 0); \
@@ -75,6 +79,10 @@ static const adapter_callbacks_t callback_funs = {
REGISTER_METRIC(adapter, NEU_METRIC_TAG_READ_ERRORS_TOTAL, 0);
#define REGISTER_APP_METRICS(adapter) \
REGISTER_METRIC(adapter, NEU_METRIC_LINK_STATE, \
NEU_NODE_LINK_STATE_DISCONNECTED); \
REGISTER_METRIC(adapter, NEU_METRIC_RUNNING_STATE, \
NEU_NODE_RUNNING_STATE_INIT); \
REGISTER_METRIC(adapter, NEU_METRIC_SEND_MSGS_TOTAL, 0); \
REGISTER_METRIC(adapter, NEU_METRIC_SEND_MSG_ERRORS_TOTAL, 0); \
REGISTER_METRIC(adapter, NEU_METRIC_RECV_MSGS_TOTAL, 0);
+3 -1
View File
@@ -467,13 +467,14 @@ int neu_adapter_driver_update_group(neu_adapter_driver_t *driver,
.second = interval / 1000,
.millisecond = interval % 1000,
.usr_data = (void *) find,
.type = NEU_EVENT_TIMER_BLOCK,
.type = NEU_EVENT_TIMER_NOBLOCK,
};
neu_group_set_interval(find->group, interval);
param.cb = report_callback;
find->report = neu_adapter_add_timer((neu_adapter_t *) driver, param);
param.type = driver->adapter.module->timer_type;
param.cb = read_callback;
find->read = neu_event_add_timer(driver->driver_events, param);
@@ -769,6 +770,7 @@ static int report_callback(void *usr_data)
sizeof(neu_reqresp_trans_data_t) +
utarray_len(tags) * sizeof(neu_resp_tag_value_t));
data->timestamp = global_timestamp;
strcpy(data->driver, group->driver->adapter.name);
strcpy(data->group, group->name);
data->n_tag = read_report_group(global_timestamp,
+5
View File
@@ -163,6 +163,11 @@ void neu_metrics_visist(neu_metrics_cb_t cb, void *data)
neu_plugin_common_t *common =
neu_plugin_to_plugin_common(n->adapter->plugin);
n->adapter->cb_funs.update_metric(n->adapter, NEU_METRIC_RUNNING_STATE,
n->adapter->state, NULL);
n->adapter->cb_funs.update_metric(n->adapter, NEU_METRIC_LINK_STATE,
common->link_state, NULL);
if (NEU_NA_TYPE_DRIVER == n->adapter->module->type) {
++g_metrics_.south_nodes;
if (NEU_NODE_RUNNING_STATE_RUNNING == n->adapter->state) {
+1 -52
View File
@@ -58,7 +58,6 @@ inline static void forward_msg(neu_manager_t *manager, nng_msg *msg,
const char *ndoe);
static void start_static_adapter(neu_manager_t *manager, const char *name);
static int update_timestamp(void *usr_data);
static int report_nodes_state(void *usr_data);
static void start_single_adapter(neu_manager_t *manager, const char *name,
const char *plugin_name, bool display);
@@ -75,13 +74,7 @@ neu_manager_t *neu_manager_create()
.second = 0,
.millisecond = 10,
.cb = update_timestamp,
.type = NEU_EVENT_TIMER_BLOCK,
};
neu_event_timer_param_t timer_param = {
.second = 1,
.millisecond = 0,
.cb = report_nodes_state,
.type = NEU_EVENT_TIMER_BLOCK,
.type = NEU_EVENT_TIMER_NOBLOCK,
};
neu_event_timer_param_t timer_level = {
@@ -138,9 +131,6 @@ neu_manager_t *neu_manager_create()
timer_level.usr_data = (void *) manager;
manager->timer_lev = neu_event_add_timer(manager->events, timer_level);
timer_param.usr_data = (void *) manager;
manager->timer = neu_event_add_timer(manager->events, timer_param);
timestamp_timer_param.usr_data = (void *) manager;
manager->timer_timestamp =
neu_event_add_timer(manager->events, timestamp_timer_param);
@@ -155,7 +145,6 @@ void neu_manager_destroy(neu_manager_t *manager)
nng_msg * uninit_msg = NULL;
UT_array *pipes = neu_node_manager_get_pipes_all(manager->node_manager);
neu_event_del_timer(manager->events, manager->timer);
neu_event_del_timer(manager->events, manager->timer_lev);
neu_event_del_timer(manager->events, manager->timer_timestamp);
strcpy(header.sender, "manager");
@@ -733,46 +722,6 @@ inline static void reply(neu_manager_t *manager, neu_reqresp_head_t *header,
}
}
static int report_nodes_state(void *usr_data)
{
neu_manager_t *manager = (neu_manager_t *) usr_data;
UT_array * apps = neu_sub_msg_manager_get(manager->sub_msg_manager,
NEU_SUBSCRIBE_NODES_STATE);
neu_manager_count_tag(manager);
if (apps == NULL) {
return 0;
}
UT_array *states = neu_node_manager_get_state(manager->node_manager);
utarray_foreach(apps, char *, app)
{
nng_msg * msg = NULL;
neu_reqresp_head_t header = { 0 };
neu_resp_get_nodes_state_t node_states = { 0 };
nng_pipe pipe = neu_node_manager_get_pipe(manager->node_manager, app);
header.type = NEU_REQRESP_NODES_STATE;
strcpy(header.sender, "manager");
strcpy(header.receiver, app);
node_states.states = utarray_clone(states);
msg = neu_msg_gen(&header, (void *) &node_states);
nng_msg_set_pipe(msg, pipe);
if (nng_sendmsg(manager->socket, msg, 0) != 0) {
nng_msg_free(msg);
nlog_warn("manager -> %s nodes state fail", app);
}
}
utarray_free(apps);
utarray_free(states);
return 0;
}
static int update_timestamp(void *usr_data)
{
(void) usr_data;
-1
View File
@@ -41,7 +41,6 @@ typedef struct neu_manager {
neu_subscribe_mgr_t * subscribe_manager;
neu_sub_msg_mgr_t * sub_msg_manager;
neu_event_timer_t *timer;
neu_event_timer_t *timer_timestamp;
neu_event_timer_t *timer_lev;
+1 -1
View File
@@ -1 +1 @@
2.3.1
2.3.4