From 907accec879ec073ab5c94afa1120cd80d940584 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Thu, 23 Mar 2023 12:32:57 +0100 Subject: [PATCH] clientlog: extend serverstats counters to 64 bits On a busy server the 32-bit counters included in the serverstats report may overflow every few hours or days. Extend them to 64 bits. --- clientlog.c | 14 +++++++------- reports.h | 34 +++++++++++++++++----------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/clientlog.c b/clientlog.c index 611e753..c408e8d 100644 --- a/clientlog.c +++ b/clientlog.c @@ -160,13 +160,13 @@ static NtpTimestampMap ntp_ts_map; #define MAX_NTP_TS NTP_TS_HARDWARE /* Global statistics */ -static uint32_t total_hits[MAX_SERVICES]; -static uint32_t total_drops[MAX_SERVICES]; -static uint32_t total_ntp_auth_hits; -static uint32_t total_ntp_interleaved_hits; -static uint32_t total_record_drops; -static uint32_t total_ntp_rx_timestamps[MAX_NTP_TS + 1]; -static uint32_t total_ntp_tx_timestamps[MAX_NTP_TS + 1]; +static uint64_t total_hits[MAX_SERVICES]; +static uint64_t total_drops[MAX_SERVICES]; +static uint64_t total_ntp_auth_hits; +static uint64_t total_ntp_interleaved_hits; +static uint64_t total_record_drops; +static uint64_t total_ntp_rx_timestamps[MAX_NTP_TS + 1]; +static uint64_t total_ntp_tx_timestamps[MAX_NTP_TS + 1]; #define NSEC_PER_SEC 1000000000U diff --git a/reports.h b/reports.h index 68164a6..0150fc6 100644 --- a/reports.h +++ b/reports.h @@ -109,23 +109,23 @@ typedef struct { } RPT_ClientAccessByIndex_Report; typedef struct { - uint32_t ntp_hits; - uint32_t nke_hits; - uint32_t cmd_hits; - uint32_t ntp_drops; - uint32_t nke_drops; - uint32_t cmd_drops; - uint32_t log_drops; - uint32_t ntp_auth_hits; - uint32_t ntp_interleaved_hits; - uint32_t ntp_timestamps; - uint32_t ntp_span_seconds; - uint32_t ntp_daemon_rx_timestamps; - uint32_t ntp_daemon_tx_timestamps; - uint32_t ntp_kernel_rx_timestamps; - uint32_t ntp_kernel_tx_timestamps; - uint32_t ntp_hw_rx_timestamps; - uint32_t ntp_hw_tx_timestamps; + uint64_t ntp_hits; + uint64_t nke_hits; + uint64_t cmd_hits; + uint64_t ntp_drops; + uint64_t nke_drops; + uint64_t cmd_drops; + uint64_t log_drops; + uint64_t ntp_auth_hits; + uint64_t ntp_interleaved_hits; + uint64_t ntp_timestamps; + uint64_t ntp_span_seconds; + uint64_t ntp_daemon_rx_timestamps; + uint64_t ntp_daemon_tx_timestamps; + uint64_t ntp_kernel_rx_timestamps; + uint64_t ntp_kernel_tx_timestamps; + uint64_t ntp_hw_rx_timestamps; + uint64_t ntp_hw_tx_timestamps; } RPT_ServerStatsReport; typedef struct {