Skip to content

internet-latency-collector: add cloud region mode, off by default - #4315

Draft
thijsvanemmerik wants to merge 1 commit into
tve/cloud-latency-04-nodefile-commandsfrom
tve/cloud-latency-05-cloud-mode
Draft

thijsvanemmerik wants to merge 1 commit into
tve/cloud-latency-04-nodefile-commandsfrom
tve/cloud-latency-05-cloud-mode

Conversation

@thijsvanemmerik

Copy link
Copy Markdown
Contributor

Part of measuring latency between AWS regions with the internet latency collector.

The collector takes the places it measures from the DoubleZero ledger and always runs both of its
measurement providers, so it cannot be pointed at a list of cloud regions instead. This adds a
--cloud-node-file flag, with a DZ_ILC_CLOUD_NODE_FILE environment variable behind it, that
switches run to read its places from that JSON node file and use RIPE Atlas alone.

Config validation and the run loop used to require both providers. They now accept either one being
absent, and reject a Wheresitup provider when a node file is set. The node file is the only switch.

Nothing changes in production. Neither the flag nor the variable is set there, so the collector
takes the same path as today. The node file is supplied only by a separate deployment, which does
not exist yet.

Test: go test ./controlplane/internet-latency-collector/.... No Docker needed.

The collector measures DoubleZero exchanges by discovering RIPE Atlas probes
near each one. A cloud node file switches it to measuring the cloud regions the
file names, using the probes the file pins.

Config.Validate now accepts a RIPE Atlas only configuration, so Run guards both
collectors against nil. With no node file given the run wiring is unchanged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant