mirror of
https://github.com/emqx/neuron.git
synced 2026-10-18 21:50:42 +08:00
feat(monitor): add node state metrics
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user