Report the number of received interleaved requests and current timestamp count with their span. Expand the serverstats description in chronyc man page.
205 lines
4.6 KiB
C
205 lines
4.6 KiB
C
/*
|
|
chronyd/chronyc - Programs for keeping computer clocks accurate.
|
|
|
|
**********************************************************************
|
|
* Copyright (C) Richard P. Curnow 1997-2002
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of version 2 of the GNU General Public License as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*
|
|
**********************************************************************
|
|
|
|
=======================================================================
|
|
|
|
Data structure definitions within the daemon for various reports that
|
|
can be generated */
|
|
|
|
#ifndef GOT_REPORTS_H
|
|
#define GOT_REPORTS_H
|
|
|
|
#include "sysincl.h"
|
|
#include "addressing.h"
|
|
#include "ntp.h"
|
|
|
|
typedef struct {
|
|
IPAddr ip_addr;
|
|
int stratum;
|
|
int poll;
|
|
enum {RPT_NTP_CLIENT, RPT_NTP_PEER, RPT_LOCAL_REFERENCE} mode;
|
|
enum {
|
|
RPT_NONSELECTABLE,
|
|
RPT_FALSETICKER,
|
|
RPT_JITTERY,
|
|
RPT_SELECTABLE,
|
|
RPT_UNSELECTED,
|
|
RPT_SELECTED,
|
|
} state;
|
|
|
|
int reachability;
|
|
unsigned long latest_meas_ago; /* seconds */
|
|
double orig_latest_meas; /* seconds */
|
|
double latest_meas; /* seconds */
|
|
double latest_meas_err; /* seconds */
|
|
} RPT_SourceReport ;
|
|
|
|
typedef struct {
|
|
uint32_t ref_id;
|
|
IPAddr ip_addr;
|
|
int stratum;
|
|
NTP_Leap leap_status;
|
|
struct timespec ref_time;
|
|
double current_correction;
|
|
double last_offset;
|
|
double rms_offset;
|
|
double freq_ppm;
|
|
double resid_freq_ppm;
|
|
double skew_ppm;
|
|
double root_delay;
|
|
double root_dispersion;
|
|
double last_update_interval;
|
|
} RPT_TrackingReport;
|
|
|
|
typedef struct {
|
|
uint32_t ref_id;
|
|
IPAddr ip_addr;
|
|
unsigned long n_samples;
|
|
unsigned long n_runs;
|
|
unsigned long span_seconds;
|
|
double resid_freq_ppm;
|
|
double skew_ppm;
|
|
double sd;
|
|
double est_offset;
|
|
double est_offset_err;
|
|
} RPT_SourcestatsReport;
|
|
|
|
typedef struct {
|
|
struct timespec ref_time;
|
|
unsigned long n_samples;
|
|
unsigned long n_runs;
|
|
unsigned long span_seconds;
|
|
double rtc_seconds_fast;
|
|
double rtc_gain_rate_ppm;
|
|
} RPT_RTC_Report;
|
|
|
|
typedef struct {
|
|
IPAddr ip_addr;
|
|
uint32_t ntp_hits;
|
|
uint32_t nke_hits;
|
|
uint32_t cmd_hits;
|
|
uint16_t ntp_drops;
|
|
uint16_t nke_drops;
|
|
uint16_t cmd_drops;
|
|
int8_t ntp_interval;
|
|
int8_t nke_interval;
|
|
int8_t cmd_interval;
|
|
int8_t ntp_timeout_interval;
|
|
uint32_t last_ntp_hit_ago;
|
|
uint32_t last_nke_hit_ago;
|
|
uint32_t last_cmd_hit_ago;
|
|
} 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;
|
|
} RPT_ServerStatsReport;
|
|
|
|
typedef struct {
|
|
struct timespec when;
|
|
double slewed_offset;
|
|
double orig_offset;
|
|
double residual;
|
|
} RPT_ManualSamplesReport;
|
|
|
|
typedef struct {
|
|
int online;
|
|
int offline;
|
|
int burst_online;
|
|
int burst_offline;
|
|
int unresolved;
|
|
} RPT_ActivityReport;
|
|
|
|
typedef struct {
|
|
int active;
|
|
int leap_only;
|
|
double offset;
|
|
double freq_ppm;
|
|
double wander_ppm;
|
|
double last_update_ago;
|
|
double remaining_time;
|
|
} RPT_SmoothingReport;
|
|
|
|
typedef struct {
|
|
IPAddr remote_addr;
|
|
IPAddr local_addr;
|
|
uint16_t remote_port;
|
|
uint8_t leap;
|
|
uint8_t version;
|
|
uint8_t mode;
|
|
uint8_t stratum;
|
|
int8_t poll;
|
|
int8_t precision;
|
|
double root_delay;
|
|
double root_dispersion;
|
|
uint32_t ref_id;
|
|
struct timespec ref_time;
|
|
double offset;
|
|
double peer_delay;
|
|
double peer_dispersion;
|
|
double response_time;
|
|
double jitter_asymmetry;
|
|
uint16_t tests;
|
|
int interleaved;
|
|
int authenticated;
|
|
char tx_tss_char;
|
|
char rx_tss_char;
|
|
uint32_t total_tx_count;
|
|
uint32_t total_rx_count;
|
|
uint32_t total_valid_count;
|
|
} RPT_NTPReport;
|
|
|
|
typedef struct {
|
|
NTP_AuthMode mode;
|
|
uint32_t key_id;
|
|
int key_type;
|
|
int key_length;
|
|
int ke_attempts;
|
|
uint32_t last_ke_ago;
|
|
int cookies;
|
|
int cookie_length;
|
|
int nak;
|
|
} RPT_AuthReport;
|
|
|
|
typedef struct {
|
|
uint32_t ref_id;
|
|
IPAddr ip_addr;
|
|
char state_char;
|
|
int authentication;
|
|
NTP_Leap leap;
|
|
int conf_options;
|
|
int eff_options;
|
|
uint32_t last_sample_ago;
|
|
double score;
|
|
double lo_limit;
|
|
double hi_limit;
|
|
} RPT_SelectReport;
|
|
|
|
#endif /* GOT_REPORTS_H */
|