The dashboard cannot communicate with Chrony or GPSd.
Please check your system services.
Retrying automatically…
| IP Address / Hostname | NTP Packets | Dropped | Last Seen |
|---|
^ Server source.
= Peer source.
# Local refclock (GPS/PPS).
*Current synced (primary).
+Good candidate for sync.
-Outlier (not a candidate).
xFalseticker (unreliable time).
?Unreachable or invalid sample.
Fields shown in the NTP sources / sourcestats table.
Stratum How many hops from an atomic clock. Stratum 1 = directly connected to GPS/atomic source. Stratum 2 = synced to a Stratum 1 server. Lower is better - this server should always be Stratum 1.
Poll Log2 of the query interval in seconds (e.g., 6 = 2⁶ = 64s between polls).
Reach Reachability of this source as a percentage of the last 8 polls. Displayed in green (≥75%), amber (≥37%), or red (below 37%). Hover to see the raw octal register value (e.g. 377 = 100%, 177 = 87.5%). A dropping percentage indicates missed polls - useful for spotting intermittent or degrading sources.
Last Seconds since the last packet was received from this source. A steadily increasing value means the source is no longer responding.
Offset / [Actual] The offset value as reported by Chrony. When Chrony expresses it in scientific notation (e.g. -1.23e-07s), the dashboard reformats it into a readable unit shown in brackets - e.g. [−123 ns].
Peer Del Network round-trip latency to an individual NTP peer.
Est Offset Current estimated error between this clock and its reference source.
Skew Predicted rate of future frequency drift. Lower = more stable oscillator.
Std Dev Statistical variability of offset samples. Lower = more consistent source.
Jitter Short-term variance between successive timing pulses. Lower = cleaner signal.
System time How far the local clock currently is from "true" time - shown as X seconds fast/slow of NTP time. This is the most important number: zero is perfect.
Reference time The timestamp of the last update received from the reference source (GPS, PPS, or a remote server).
Reference ID The source the system clock is currently locked to (e.g. GPS, PPS, or a remote server IP/hostname).
Frequency How fast or slow the system clock runs in parts-per-million (ppm). Chrony continuously trims this to keep the clock on track.
Update interval How often Chrony last received a timing update from its reference source, in seconds.
Leap status Whether a leap second is scheduled. Normal = none pending. Insert/Delete = a leap second is being added or removed at midnight UTC on the last day of the month. Unsynchronised = clock is not locked.
Clock Steps (24h) Count of times Chrony stepped (abruptly jumped) the system clock in the last 24 hours. A step occurs when the offset is too large to correct by gradual rate adjustment alone. On a healthy GPS/PPS server this should always be 0. Green = 0, Amber = 1-2, Red = 3+.
Last Step Relative time and magnitude of the most recent clock step event (e.g. 14m ago · −3.271 ms). The sign indicates direction: negative = clock was stepped back; positive = stepped forward. A large magnitude or a recent timestamp warrants investigation.
RMS Offset Rolling average of recent clock offset samples. Reflects long-term stability - a steadily low value means the clock is consistently well-locked.
Root Delay Total round-trip network delay to the primary reference clock. For a GPS/PPS refclock this is near zero; for a remote NTP server it reflects actual network latency.
Root Dispersion Accumulated timing uncertainty through the entire NTP chain. Higher values indicate more uncertainty has built up between this server and its ultimate time source.
Residual freq The remaining frequency error Chrony has not yet fully corrected, in parts-per-million (ppm). A small non-zero value is normal - it represents the gap between the current steering rate and the ideal rate. A large or growing value may indicate an unstable reference source.
Freq Limit How close the oscillator's current correction rate is to its configured maximum drift limit (maxdrift in chrony.conf, default 500,000 ppm). Shown as a percentage. Green (<50%) is healthy; Amber (50-80%) warrants attention; Red (>80%) means the oscillator is approaching its steering boundary and may need hardware inspection.
Metrics from chronyc serverstats - counts accumulated since Chrony last started.
NTP packets received Total NTP requests handled by this server.
NTP packets dropped Requests rejected due to rate-limiting or access rules. A non-zero value is normal for public-facing servers; a high drop rate may indicate a misconfigured client or a flood.
Command packets received / dropped Control-channel packets from chronyc. Drops here are rare and typically indicate a permissions or network issue.
Client log records dropped Client log entries discarded when the in-memory log is full. Increase clientloglimit in chrony.conf if this is non-zero and you rely on client data.
NTS-KE connections accepted / dropped Network Time Security key-exchange handshakes. Only present if NTS is configured. A non-zero drop count may indicate a TLS certificate or firewall issue.
Authenticated NTS packets NTP packets verified using NTS authentication.
Interleaved NTP packets Packets using the interleaved NTP protocol, which enables hardware timestamping for improved accuracy on supported hardware.
Settings read directly from chrony.conf — reflects how Chrony is configured, not live runtime values.
Make Step The threshold and limit for abrupt clock corrections. Format: Xs — first N updates. If the offset exceeds the threshold during the allowed updates, Chrony steps the clock immediately rather than slewing. A limit of always means stepping is permitted at any time.
Max Drift The maximum frequency offset Chrony is permitted to apply to the oscillator, in ppm. Acts as a safety ceiling; the oscillator is never steered beyond this value. Shown as (default) when not explicitly set in chrony.conf.
Refclock Poll The configured polling interval for the local reference clock (GPS/PPS), in seconds, with the log₂ exponent in brackets. Shorter intervals mean more frequent updates and faster correction response.
Poll Interval The configured minimum and maximum polling interval bounds (from global minpoll/maxpoll directives), shown when no refclock-specific poll is set.
Ref Precision The declared precision of the reference clock as configured in the refclock directive. Represents the smallest time interval the reference source can resolve — typically in nanoseconds for a GPS/PPS receiver.
dBHz Decibels-Hertz - the unit for GPS signal carrier-to-noise density. Higher = stronger, cleaner signal. Typical range: 15 (noise floor) to 50+ (excellent).
SNR/SS Signal strength of each satellite in dBHz. >28 Good. >35 Excellent.
EL / AZ Elevation (0-90°) above horizon and Azimuth (0-359°) compass bearing of the satellite.
ACTIVE FIX Satellites currently being used in the timing/position solution. More active satellites = better accuracy and redundancy.
VISIBLE Satellites the receiver can see but is not using - geometry or signal quality not good enough to include in the solution.
TOTAL All satellites the receiver currently detects - active + visible combined. A high total with a low active count may indicate obstruction or poor signal geometry.
3D Fix Lock on 4+ satellites - enough for latitude, longitude, and altitude.
PPS Pulse Per Second - a hardware signal from the GPS receiver that fires exactly once per second. The heartbeat of a precision NTP server; provides nanosecond-level accuracy that software alone cannot achieve.
LastRx Seconds since the GPS receiver last sent a valid timing update.
EPT Estimated Position (Time) Error - the GPS receiver's own internal estimate of its current timing error, in nanoseconds.
The bar graph under the skyview shows the signal strength (dBHz) of every satellite in view.
Solid bars = satellite is ACTIVE in the timing solution.
Hollow bars = satellite is VISIBLE but not used.
Bar colors match constellation colors in the skyview and SNR table. Reference lines mark the scoring thresholds (22 / 28 / 38 dBHz).
Signal Band The frequency and code being received. Common signals: L1 C/A (legacy GPS), L5 (modern GPS), E5a/E5b (Galileo), B1I/B2I (BeiDou), G1/G2 (GLONASS). Multi-band receivers track multiple signals per satellite for improved accuracy.
The chips below the SNR histogram show a live per-constellation satellite summary. Each chip represents one GNSS system currently in view.
Count (used/seen) The left number is how many satellites from that constellation are actively used in the timing solution. The right number (muted) is the total seen — tracked by the receiver but not necessarily contributing.
Fill bar The thin bar at the bottom of each chip fills proportionally to the used/seen ratio. A full bar means every tracked satellite from that constellation is in the solution.
Chip colors match the constellation color scheme used throughout the dashboard (sky plot, SNR histogram, history graphs).
DOP values describe how satellite geometry affects measurement accuracy. Think of it like triangulation - satellites spread evenly across the sky give a much better fix than a cluster all in one direction. Lower is always better.
TDOP Time DOP - geometric quality specifically for timing accuracy. The most important DOP value for an NTP server. Ideal <1.0.
HDOP Horizontal DOP - quality for lat/lon position. Less critical for timing but reflects overall geometry. Ideal <1.0.
VDOP Vertical DOP - quality for altitude. Typically higher than HDOP because there are no satellites below the horizon. Ideal <2.0.
PDOP Position DOP - combined 3D position quality (H + V). Ideal <2.0.
All four DOP values are plotted over time in the DOP History graph in the History tab — useful for spotting geometry degradation caused by satellite orbital patterns or physical obstructions at specific times of day.
1 or less Ideal - excellent geometry.
1 - 2 Excellent - suitable for all applications.
2 - 5 Good - position/timing is reliable.
5 - 10 Moderate - usable but not ideal.
> 10 Poor - consider antenna placement.
TDOP values above 2.0 may start affecting NTP timing quality. Values consistently above 5.0 suggest the antenna has a significantly obstructed sky view.
A 0-100% score derived from the average SNR of all active satellites. Reflects antenna quality and sky view. Click the percentage on the dashboard to see full scoring logic.
87%+ Avg SNR >35 dBHz - Excellent antenna placement.
57%+ Avg SNR >28 dBHz - Healthy real-world installation.
30%+ Avg SNR >22 dBHz - Partial obstruction or cable loss.
<30% Avg SNR <22 dBHz - Significant problem present.
A 0-100% score derived from how far the system clock currently deviates from true time. Uses a logarithmic scale. Click the percentage on the dashboard to see full scoring logic.
100% <1µs offset - Sub-microsecond (hardware PPS).
80%+ <1ms offset - Excellent LAN performance.
60%+ <10ms offset - Acceptable for internet NTP.
<60% >10ms offset - Significant drift or network issue.
Performance System clock offset vs. frequency correction over time. A flat, near-zero offset line with a stable frequency line is the goal. Spikes in offset that self-correct are normal; spikes that don't recover may indicate a source problem.
Stability Estimated offset vs. standard deviation over time. Shows how consistently the clock behaves - a well-disciplined GPS/PPS clock shows very low, flat values on both lines.
NTP Measurements Raw per-sample offset and peer delay from every NTP source poll. Expect scatter - this is the raw data before Chrony's filtering algorithms smooth it. Useful for spotting a noisy or asymmetric network path.
PPS Drift / System Offset System clock offset vs. RMS offset over time. The tab label adapts automatically: shown as PPS Drift when Chrony is locked to a hardware PPS source (the flattest, most stable graph - spikes indicate RF interference, a cable issue, or a solar transit event), or as System Offset when locked to a GPS-only or network reference (offset range is wider and reflects that source's inherent accuracy).
Root Dispersion Root dispersion over time; Root dispersion is the variable component of the error budget - it accumulates clock uncertainty from oscillator drift and measurement noise. For a local GPS/PPS reference, root delay is a near-zero constant (typically 1 ns) and requires no trending. A rising dispersion line indicates local clock instability or thermal drift; a sudden spike may correlate with a GPS signal interruption or a clock step event.
Frequency Frequency correction (ppm) applied by Chrony to the local oscillator over time, with the estimated frequency uncertainty (skew) as a secondary line. A stable, flat frequency line is expected on a well-disciplined GPS/PPS clock; slow drift is normal crystal aging. A sudden shift may indicate a temperature excursion, hardware change, or clock step event.
Visibility Active vs. visible satellite counts over time. Sudden drops in the active count can correlate with SNR degradation, solar transits, or physical obstructions (birds, ice, seasonal foliage).
SNR Trend Average signal-to-noise ratio (dBHz) of satellites used in the timing fix (solid line) vs. all visible satellites (dashed line). A consistently high used-SNR indicates a well-placed antenna. A widening gap between the two lines means chrony is rejecting weaker satellites. Drops in both lines simultaneously suggest RF interference, a cable problem, or a solar transit event.
DOP History All four DOP values (TDOP, HDOP, VDOP, PDOP) plotted together over time on a single graph, color-coded by type. Reveals how satellite geometry evolves throughout the day — periodic dips often reflect predictable orbital patterns, while sudden degradation may indicate a new obstruction. See the DOP legend tab for threshold guidance.
SNR History Average signal-to-noise ratio per GNSS constellation over time, with one colored line per system (GPS, GLONASS, Galileo, BeiDou, etc.). Useful for comparing constellation-level signal health, spotting constellation-specific interference, and understanding which systems are consistently strongest at your location. Threshold reference lines at 15 / 22 / 30 / 38 dBHz mark signal quality zones.
History Buttons Controls the time window displayed (1-24 hours).
Solid line Primary metric (e.g. System Offset, PPS Offset, Active satellites).
Dashed line Secondary metric (e.g. Frequency, RMS Offset, Visible satellites).
Min / Max / Avg Statistics shown in the graph tooltip on hover, calculated across the visible window.
Graph data is written to log files by Chrony and the dashboard's rolling log writers. Data is only available from the moment logging started - a fresh installation will show a short window until logs accumulate.
No Fix No position available (0-3 satellites).
2D Fix Latitude & longitude only (3 satellites).
3D Fix Lat, lon & altitude (4+ satellites).
Normal: Standard GPS positioning.
DGPS: Differential GPS (ground station corrections).
RTK Fixed: Real-Time Kinematic, fixed integers (cm-level accuracy).
RTK Float: RTK with floating ambiguities (dm-level accuracy).
DR: Dead Reckoning (inertial sensors only).
GNSS+DR: Combined GNSS and dead reckoning.
Time: Time-only precision fix with surveyed position (timing receivers).
Simulated: Simulated mode for testing.
P(Y): Military encrypted P(Y) code.
Red No position fix.
Amber 2D fix only.
Green 3D fix (Normal).
Cyan Enhanced 3D fix (DGPS/RTK/DR).
Purple Time-only precision fix.
Gray Simulated mode.
Normal (Green): Standard GPS navigation, tracking, mapping.
DGPS/RTK (Cyan): Surveying, precision agriculture, autonomous vehicles.
Time (Purple): NTP servers, timing labs, telecom synchronization.
DR (Cyan): Tunnels, urban canyons, temporary signal loss.
GPS PRN 1 - 32 🇺🇸 USA
GLONASS PRN 65 - 96 🇷🇺 Russia
SBAS PRN 120 - 158 (Augmentation systems)
BeiDou PRN 159 - 163 / 401 - 460 🇨🇳 China
QZSS PRN 193 - 202 🇯🇵 Japan
Galileo PRN 211 - 246 / 301 - 336 🇪🇺 Europe
NavIC PRN 417 - 422 🇮🇳 India
PRN stands for Pseudo-Random Noise. Each satellite broadcasts a unique PRN code - a specific pattern of ones and zeros that the receiver uses to identify it and measure the time delay of the signal (which determines distance).
PRN numbers are assigned by range to each constellation, which is how the dashboard knows a satellite's origin from its number alone.
SBAS satellites (WAAS, EGNOS, MSAS, etc.) retransmit GPS correction data from geostationary orbit. They improve position accuracy but are less useful for timing due to their fixed, low-elevation position and multipath-prone signals.
No Fix No position available (0-3 satellites)
2D Fix Latitude & longitude only (3 satellites)
3D Fix Lat, lon & altitude (4+ satellites)
Normal: Standard GPS positioning
DGPS: Differential GPS (ground station corrections)
RTK Fixed: Real-Time Kinematic with fixed integers (cm-level accuracy)
RTK Float: RTK with floating point ambiguities (dm-level accuracy)
DR: Dead Reckoning (inertial sensors only)
GNSS+DR: Combined GNSS and dead reckoning
Time: Time-only precision fix with surveyed position (timing receivers)
Simulated: Simulated mode for testing
P(Y): Military encrypted P(Y) code
Red No position fix
Amber 2D fix only
Green 3D fix (Normal)
Cyan Enhanced 3D fix (DGPS/RTK/DR)
Purple Timing-mode precision 3D fix (surveyed position)
Gray Simulated mode
Normal (Green): Standard GPS navigation, tracking, mapping
DGPS/RTK (Cyan): Surveying, precision agriculture, autonomous vehicles
Time (Purple): NTP servers, timing labs, telecom synchronization
DR (Cyan): Tunnels, urban canyons, temporary signal loss
The sun is a massive generator of broadband radio frequency (RF) noise. GPS signals, by contrast, are incredibly weak - comparable to seeing a 25-watt lightbulb from 10,000 miles away.
Knowing the sun's position is critical for diagnosing signal degradation due to Solar Transits (Sun Outages):
| Factor | Detail |
|---|---|
| Phenomenon | Twice a year, the sun's path aligns directly behind the GPS satellite belt during the spring and autumn equinoxes. |
| Impact | Thermal noise from the sun can overpower the weak GPS satellite signal when they overlap in azimuth and elevation. |
| Symptom | A sudden, sharp drop in SNR for specific satellites, potentially causing them to drop from the timing solution entirely. |
Visualizing the sun's position allows you to instantly distinguish between a hardware or antenna failure and a natural, temporary solar interference event.
Enter your admin token to manage settings.
clientlog in chrony.conf.chrogps-poller systemd timer. No configuration needed - the graphs appear once data has accumulated.Loading...
TDOP measures the geometric quality of satellite positioning for time accuracy.
Based on satellite geometry in the time dimension. Lower values = better satellite spread = more accurate time.
| Status | Range | Description |
|---|---|---|
| EXCELLENT | < 1.0 | Ideal for timing |
| GOOD | 1.0 - 2.0 | Good timing accuracy |
| FAIR | 2.0 - 5.0 | Acceptable timing |
| POOR | > 5.0 | Degraded accuracy |
| S | Source Name | STRAT | POLL | REACH | LAST | OFFSET / [ACTUAL] |
|---|
| PRN | EL | AZ | SNR | Band | STAT |
|---|
The "Signal Integrity" score is calculated from the average Carrier-to-Noise Density (SNR) of satellites currently active.
We set the "Zero" point at 15 dBHz. Below this level, the signal is effectively buried in the thermal noise floor and cannot be reliably used for data demodulation.
We set the "Perfect" score at 38 dBHz. This represents a realistic excellent average signal across all active satellites - accounting for the fact that low-elevation satellites used for timing naturally have weaker signals due to the greater atmosphere they must penetrate.
The percentage is derived using a linear mapping between the floor and ceiling. The divisor 23 represents the total span (38 ceiling - 15 floor = 23 dBHz).
| Status | Range | Description |
|---|---|---|
| PERFECT | > 35 dB | Excellent signal. Unobstructed sky view with strong multi-constellation lock. |
| GOOD | 28 - 35 dB | Strong signal. Healthy real-world installation and normal operation. |
| MARGINAL | 22 - 27 dB | Weak signal. Possible partial obstruction, cable loss, or RF interference. |
| POOR | < 22 dB | Very weak. Significant obstruction, antenna fault, or interference present. |
The "Sync Health" score measures the system clock's deviation (offset) from "True" time. It uses a logarithmic scale to account for precision that spans from milliseconds to nanoseconds.
An offset greater than 100 milliseconds is considered a complete sync failure for precision timekeeping purposes.
A score of 100% is awarded for sub-microsecond accuracy, typically only achievable with hardware PPS signals.
Because time precision scales exponentially, we use fixed tiers rather than a linear percentage.
| Score | Offset | Description |
|---|---|---|
| 100% | < 1 µs | Perfect. Sub-microsecond accuracy (Hardware PPS). |
| 95% | < 10 µs | Excellent. Single-digit microsecond accuracy. |
| 90% | < 100 µs | Great. Standard for well-tuned local GPS. |
| 80% | < 1 ms | Good. Typical low-latency LAN performance. |
| 60% | < 10 ms | Marginal. Acceptable for WAN/Internet NTP. |
| 40% | < 100 ms | Poor. Significant drift or network latency. |
| 20% | > 100 ms | Fail. Clock is effectively unsynchronized. |