From 0529311d4dd1b7d7a42bc079d85bc3204592bd91 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Tue, 25 Apr 2023 10:06:33 -0700 Subject: [PATCH] add node checkins metric --- controller/PostgreSQL.cpp | 2 ++ node/Metrics.cpp | 4 ++++ node/Metrics.hpp | 2 ++ 3 files changed, 8 insertions(+) diff --git a/controller/PostgreSQL.cpp b/controller/PostgreSQL.cpp index 2aa24e2e4..00b61bc35 100644 --- a/controller/PostgreSQL.cpp +++ b/controller/PostgreSQL.cpp @@ -1688,6 +1688,7 @@ void PostgreSQL::onlineNotification_Postgres() << " ON CONFLICT (network_id, member_id) DO UPDATE SET address = EXCLUDED.address, last_updated = EXCLUDED.last_updated"; pipe.insert(memberUpdate.str()); + Metrics::pgsql_node_checkin++; } while(!pipe.empty()) { pipe.retrieve(); @@ -1795,6 +1796,7 @@ uint64_t PostgreSQL::_doRedisUpdate(sw::redis::Transaction &tx, std::string &con .sadd("network-nodes-all:{"+controllerId+"}:"+networkId, memberId) .hmset("member:{"+controllerId+"}:"+networkId+":"+memberId, record.begin(), record.end()); ++count; + Metrics::redis_node_checkin++; } // expire records from all-nodes and network-nodes member list diff --git a/node/Metrics.cpp b/node/Metrics.cpp index 0fc4d1765..a89954f59 100644 --- a/node/Metrics.cpp +++ b/node/Metrics.cpp @@ -52,10 +52,14 @@ namespace ZeroTier { { "controller_pgsql_member_notifications_received", "number of member change notifications received via pgsql NOTIFY" }; prometheus::simpleapi::counter_metric_t pgsql_net_notification { "controller_pgsql_network_notifications_received", "number of network change notifications received via pgsql NOTIFY" }; + prometheus::simpleapi::counter_metric_t pgsql_node_checkin + { "controller_pgsql_node_checkin_count", "number of node check-ins (pgsql)" }; prometheus::simpleapi::counter_metric_t redis_mem_notification { "controller_redis_member_notifications_received", "number of member change notifications received via redis" }; prometheus::simpleapi::counter_metric_t redis_net_notification { "controller_redis_network_notifications_received", "number of network change notifications received via redis" }; + prometheus::simpleapi::counter_metric_t redis_node_checkin + { "controller_redis_node_checkin_count", "number of node check-ins (redis)" }; // Central DB Pool Metrics prometheus::simpleapi::counter_metric_t conn_counter diff --git a/node/Metrics.hpp b/node/Metrics.hpp index 28cbd5990..9dd77017d 100644 --- a/node/Metrics.hpp +++ b/node/Metrics.hpp @@ -40,8 +40,10 @@ namespace ZeroTier { // Central Controller Metrics extern prometheus::simpleapi::counter_metric_t pgsql_mem_notification; extern prometheus::simpleapi::counter_metric_t pgsql_net_notification; + extern prometheus::simpleapi::counter_metric_t pgsql_node_checkin; extern prometheus::simpleapi::counter_metric_t redis_mem_notification; extern prometheus::simpleapi::counter_metric_t redis_net_notification; + extern prometheus::simpleapi::counter_metric_t redis_node_checkin; // Central DB Pool Metrics extern prometheus::simpleapi::counter_metric_t conn_counter;