From b395d1d22cd101731f27b5b2e0901542abe273b7 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 4 May 2023 08:23:25 -0700 Subject: [PATCH] Rename zt_packet_incoming -> zt_packet Also consolidate zt_peer_packets into a single metric with tx and rx labels. Same for ztc_tcp_data and ztc_udp_data --- node/Metrics.cpp | 22 ++++++++++++---------- node/Metrics.hpp | 11 ++++++----- node/Peer.cpp | 4 ++-- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/node/Metrics.cpp b/node/Metrics.cpp index e20f06c32..1f80bd37f 100644 --- a/node/Metrics.cpp +++ b/node/Metrics.cpp @@ -25,7 +25,7 @@ namespace ZeroTier { namespace Metrics { // Packet Type Counts prometheus::simpleapi::counter_family_t packets - { "zt_packet_incoming", "incoming packet type counts"}; + { "zt_packet", "incoming packet type counts"}; // Incoming packets prometheus::simpleapi::counter_metric_t pkt_nop_in @@ -157,14 +157,18 @@ namespace ZeroTier { { packet_errors.Add({{"error_type", "internal_server_error"}, {"direction", "tx"}}) }; // Data Sent/Received Metrics - prometheus::simpleapi::counter_metric_t udp_send - { "zt_udp_data_sent", "number of bytes ZeroTier has sent via UDP" }; + prometheus::simpleapi::counter_family_t udp + { "zt_udp_data", "number of bytes ZeroTier has transmitted or received via UDP" }; prometheus::simpleapi::counter_metric_t udp_recv - { "zt_udp_data_recv", "number of bytes ZeroTier has received via UDP" }; + { udp.Add({{"direction","rx"}}) }; + prometheus::simpleapi::counter_metric_t udp_send + { udp.Add({{"direction","tx"}}) }; + prometheus::simpleapi::counter_family_t tcp + { "zt_tcp_data", "number of bytes ZeroTier has transmitted or received via TCP" }; prometheus::simpleapi::counter_metric_t tcp_send - { "zt_tcp_data_sent", "number of bytes ZeroTier has sent via TCP" }; + { tcp.Add({{"direction", "tx"}}) }; prometheus::simpleapi::counter_metric_t tcp_recv - { "zt_tcp_data_recv", "number of bytes ZeroTier has received via TCP" }; + { tcp.Add({{"direction", "rx"}}) }; // Network Metrics prometheus::simpleapi::gauge_metric_t network_num_joined @@ -185,10 +189,8 @@ namespace ZeroTier { prometheus::simpleapi::gauge_family_t peer_path_count { "zt_peer_path_count", "number of paths to peer" }; - prometheus::simpleapi::counter_family_t peer_incoming_packets - { "zt_peer_incoming_packets", "number of incoming packets from a peer" }; - prometheus::simpleapi::counter_family_t peer_outgoing_packets - { "zt_peer_outgoing_packets", "number of outgoing packets to a peer" }; + prometheus::simpleapi::counter_family_t peer_packets + { "zt_peer_packets", "number of incoming packets from a peer" }; prometheus::simpleapi::counter_family_t peer_packet_errors { "zt_peer_packet_errors" , "number of incoming packet errors from a peer" }; diff --git a/node/Metrics.hpp b/node/Metrics.hpp index f78a0f157..f95e37a7d 100644 --- a/node/Metrics.hpp +++ b/node/Metrics.hpp @@ -96,22 +96,23 @@ namespace ZeroTier { extern prometheus::simpleapi::counter_metric_t pkt_error_internal_server_error_out; // Data Sent/Received Metrics + extern prometheus::simpleapi::counter_family_t udp; extern prometheus::simpleapi::counter_metric_t udp_send; extern prometheus::simpleapi::counter_metric_t udp_recv; + extern prometheus::simpleapi::counter_family_t tcp; extern prometheus::simpleapi::counter_metric_t tcp_send; extern prometheus::simpleapi::counter_metric_t tcp_recv; // Network Metrics - extern prometheus::simpleapi::gauge_metric_t network_num_joined; - extern prometheus::simpleapi::gauge_family_t network_num_multicast_groups; + extern prometheus::simpleapi::gauge_metric_t network_num_joined; + extern prometheus::simpleapi::gauge_family_t network_num_multicast_groups; extern prometheus::simpleapi::counter_family_t network_incoming_packets; extern prometheus::simpleapi::counter_family_t network_outgoing_packets; // Peer Metrics extern prometheus::CustomFamily> &peer_latency; - extern prometheus::simpleapi::gauge_family_t peer_path_count; - extern prometheus::simpleapi::counter_family_t peer_incoming_packets; - extern prometheus::simpleapi::counter_family_t peer_outgoing_packets; + extern prometheus::simpleapi::gauge_family_t peer_path_count; + extern prometheus::simpleapi::counter_family_t peer_packets; extern prometheus::simpleapi::counter_family_t peer_packet_errors; // General Controller Metrics diff --git a/node/Peer.cpp b/node/Peer.cpp index a08bebbf7..5228e608a 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -54,8 +54,8 @@ Peer::Peer(const RuntimeEnvironment *renv,const Identity &myIdentity,const Ident _peer_latency{Metrics::peer_latency.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}}, std::vector{1,3,6,10,30,60,100,300,600,1000})}, _alive_path_count{Metrics::peer_path_count.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())},{"status","alive"}})}, _dead_path_count{Metrics::peer_path_count.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())},{"status","dead"}})}, - _incoming_packet{Metrics::peer_incoming_packets.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})}, - _outgoing_packet{Metrics::peer_outgoing_packets.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})}, + _incoming_packet{Metrics::peer_packets.Add({{"direction", "rx"},{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})}, + _outgoing_packet{Metrics::peer_packets.Add({{"direction", "tx"},{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})}, _packet_errors{Metrics::peer_packet_errors.Add({{"node_id", OSUtils::nodeIDStr(peerIdentity.address().toInt())}})} { if (!myIdentity.agree(peerIdentity,_key)) {