The ntpfrob program frobs the local clock hardware. It collects several small diagnostic functions into a set that will differ depending on your platform and underlying system calls. Portions of it formerly traveled as tickadj and some undocumented small utilities.
Documentation for some of these functions is scanty; this is a problem inherited from ancient days along with their code. If you suspect you may need to use them, reading the source code may be wise. If you believe you understand the code in more detail than any of these descriptions, please explain it to the NTPsec maintainers.
Normally this tool reports in an eyeball-friendly unstructured text format. With the -j option (where applicable) it reports JSON records. Note that the -j option should be given before any mode option.
The -A function reads your clock's tick rate in microseconds. The -a function sets it. Both rely on the adjtimex(2) system call. This mode finishes by reporting the tick value and (if available) the tick adjustment value.
The -j option applies to this mode.
The -c option can be used to determine the timing jitter due to the operating system in a gettimeofday() call. For most systems, the dominant contribution to the jitter budget is the period of the hardware interrupt, usually in the range between 10 us and 1 ms. For those systems with microsecond counters, the jitter is dominated only by the operating system.
The -j option applies to this mode. With the -r option, write the raw, unsorted clock samples to standard output for post-analysis. All but the last -j or -r option before the -c mode flag is ignored.
The -e option measure the resolution of the system clock, watching how the current time changes as we read it repeatedly.
One of the following exit values will be returned: