Release/1.2.0#25
Merged
Merged
Conversation
Adding image definitions into opensampl --------- Co-authored-by: MacFarland, Midgie <macfarlandmj@ornl.gov>
Creating random and collect mixins, factoring the logic out to those. Updating the create functionality to reflect current practices. --------- Co-authored-by: MacFarland, Midgie <macfarlandmj@ornl.gov>
bump GHA versions to current stable
## Summary This PR adds first-class NTP support to OpenSAMPL and hardens the local/demo experience around initialization, loading, and visualization. At a high level, it introduces: - an NTP vendor/probe family - local and remote NTP collection support - Additional metrics and metadata handling - reference-safe dashboard/query updates for NTP-backed timing views - documentation for the NTP extension path ## What’s included ### NTP vendor / probe support - Adds an NTP vendor family using the existing OpenSAMPL extension model - Supports remote NTP querying and local NTP inspection paths - Adds `ntp_metadata` handling and NTP-specific probe loading behavior - Adds metrics common for NTP clocks such as jitter, delay, stratum, and sync health ### Dashboard and query hardening - Fixes Grafana variable/query issues around text UUID handling - Removes brittle empty-filter and `varchar = uuid` failure modes - Updates timing dashboards to use reference-safe wording for NTP-backed demo paths - Adds compact reference/source metadata tables to aid interpretation - Keeps GNSS extensibility intact for future true GNSS-backed probe families ### NTP jitter handling - Fixes the empty jitter path for remote NTP collection - When a direct measured jitter value is unavailable from a single remote response, stores a documented estimate/bound instead - Clarifies this distinction in dashboard wording and docs ### Docs - Updates README/docs to reflect current init/bootstrap behavior - Adds a detailed guide explaining how the NTP extension was added and integrated into OpenSAMPL - Adds an unreleased `1.2.0` changelog entry ## Why Before this change: - NTP support was not available as a first-class probe family - Grafana dashboards were brittle around variable typing and empty selections - NTP-backed demo dashboards could imply GNSS truth where only configured reference semantics existed After this change: - NTP-backed timing data can be collected, loaded, and visualized cleanly - dashboard behavior is safer and more honest - the extension path is documented for future maintainers ## Notes - The dashboard wording uses **Reference** rather than **GNSS** where the current backing data is NTP-referenced rather than GNSS-grounded. - GNSS-related backend concepts are preserved; this PR does not remove future support for true GNSS-backed probe families. - Demo/appliance orchestration (custom DB image, continuous ingest service, mock NTP targets, etc.) remains outside this PR in the `syncscope-at-home` repo. ## Validation Verified locally with: - `uv run pytest` - `uv run ruff check .` - NTP collect/load path - Grafana dashboard rendering with populated probe metadata and time-series rows --------- Co-authored-by: MacFarland, Midgie <macfarlandmj@ornl.gov> Co-authored-by: Joshua Grant <jngrant9@gmail.com> Co-authored-by: sempervent <jngrant9+git@gmail.com> Co-authored-by: Grant, Josh <grantjn@ornl.gov>
midgemacf
reviewed
Apr 29, 2026
midgemacf
approved these changes
Apr 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
update pyproject.toml