client: add serverstats command
This commit is contained in:
parent
9b019a03e7
commit
070f2706b7
2 changed files with 46 additions and 0 deletions
|
@ -3396,6 +3396,7 @@ interface.
|
|||
* reselectdist command:: Set improvement in distance needed to reselect a source
|
||||
* retries command:: Set maximum number of retries
|
||||
* rtcdata command:: Display RTC parameters
|
||||
* serverstats command:: Display statistics of the server
|
||||
* settime command:: Provide a manual input of the current time
|
||||
* smoothing command:: Display current time smoothing state
|
||||
* smoothtime command:: Reset/activate server time smoothing
|
||||
|
@ -4314,6 +4315,24 @@ right when it crosses a particular second boundary. Then it would be 1
|
|||
microsecond fast when it crosses its next second boundary.
|
||||
@end table
|
||||
@c }}}
|
||||
@c {{{ serverstats command
|
||||
@node serverstats command
|
||||
@subsubsection serverstats command
|
||||
The @code{serverstats} command displays how many valid NTP and command requests
|
||||
@code{chronyd} as a server received from clients, how many of them were dropped
|
||||
to limit the response rate as configured by the @code{ratelimit} and
|
||||
@code{cmdratelimit} directives, and how many client log records were dropped
|
||||
due to the memory limit configured by the @code{clientloglimit} directive. An
|
||||
example of the output is shown below.
|
||||
|
||||
@example
|
||||
NTP packets received : 1598
|
||||
NTP packets dropped : 8
|
||||
Command packets received : 19
|
||||
Command packets dropped : 0
|
||||
Client log records dropped : 0
|
||||
@end example
|
||||
@c }}}
|
||||
@c {{{ settime
|
||||
@node settime command
|
||||
@subsubsection settime
|
||||
|
|
27
client.c
27
client.c
|
@ -1225,6 +1225,7 @@ give_help(void)
|
|||
"\0\0NTP access:\0\0"
|
||||
"accheck <address>\0Check whether address is allowed\0"
|
||||
"clients\0Report on clients that have accessed the server\0"
|
||||
"serverstats\0Display statistics of the server\0"
|
||||
"allow [<subnet>]\0Allow access to subnet as a default\0"
|
||||
"allow all [<subnet>]\0Allow access to subnet and all children\0"
|
||||
"deny [<subnet>]\0Deny access to subnet as a default\0"
|
||||
|
@ -1962,6 +1963,29 @@ process_cmd_tracking(char *line)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ================================================== */
|
||||
|
||||
static int
|
||||
process_cmd_serverstats(char *line)
|
||||
{
|
||||
CMD_Request request;
|
||||
CMD_Reply reply;
|
||||
|
||||
request.command = htons(REQ_SERVER_STATS);
|
||||
|
||||
if (!request_reply(&request, &reply, RPY_SERVER_STATS, 0))
|
||||
return 0;
|
||||
|
||||
printf("NTP packets received : %"PRIu32"\n", ntohl(reply.data.server_stats.ntp_hits));
|
||||
printf("NTP packets dropped : %"PRIu32"\n", ntohl(reply.data.server_stats.ntp_drops));
|
||||
printf("Command packets received : %"PRIu32"\n", ntohl(reply.data.server_stats.cmd_hits));
|
||||
printf("Command packets dropped : %"PRIu32"\n", ntohl(reply.data.server_stats.cmd_drops));
|
||||
printf("Client log records dropped : %"PRIu32"\n", ntohl(reply.data.server_stats.log_drops));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ================================================== */
|
||||
|
||||
static int
|
||||
|
@ -2590,6 +2614,9 @@ process_line(char *line)
|
|||
} else if (!strcmp(command, "rtcdata")) {
|
||||
do_normal_submit = 0;
|
||||
ret = process_cmd_rtcreport(line);
|
||||
} else if (!strcmp(command, "serverstats")) {
|
||||
do_normal_submit = 0;
|
||||
ret = process_cmd_serverstats(line);
|
||||
} else if (!strcmp(command, "settime")) {
|
||||
do_normal_submit = 0;
|
||||
ret = process_cmd_settime(line);
|
||||
|
|
Loading…
Reference in a new issue