feat(monitor): add node state metrics

This commit is contained in:
eeff
2022-12-30 16:09:08 +08:00
parent 99ab71c63d
commit fc3df296cd
3 changed files with 23 additions and 0 deletions
+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
+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);
+5
View File
@@ -301,6 +301,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) {