Skip to content

internet-latency-collector: separate cloud mode measurement identity - #4317

Draft
thijsvanemmerik wants to merge 1 commit into
tve/cloud-latency-06-fixed-ping-targetfrom
tve/cloud-latency-07-measurement-identity
Draft

thijsvanemmerik wants to merge 1 commit into
tve/cloud-latency-06-fixed-ping-targetfrom
tve/cloud-latency-07-measurement-identity

Conversation

@thijsvanemmerik

Copy link
Copy Markdown
Contributor

Part of measuring latency between AWS regions with the internet latency collector: a node file
switches it into a second mode, the region mode, that measures those regions instead of DoubleZero
exchange locations.

Both modes would share one RIPE Atlas account and claim measurements the same way, by the
description prefix "DoubleZero " and one shared state file. Each would treat the other's
measurements as its own, find no local metadata for them and stop them, and both sides would
recreate on the next cycle, every cycle. A recreated measurement costs 80 to 100 minutes of samples
before it delivers again. This gives the region mode its own description prefix ("DoubleZero
Cloud "), its own RIPE tag (<env>-cloud) and its own state file, and makes every ownership check
ask the mode.

Two smaller changes. The region mode names no target probe when a measurement goes quiet, because
its target is a fixed address with no probe behind it. And the pass that decides which old
measurement to stop now derives from the create list instead of repeating its checks, so a
measurement recreated for missing local metadata is stopped rather than left running beside its
replacement.

Nothing changes in production: the region mode runs only with a node file, which only a separate
deployment that does not exist yet supplies. One check does tighten on the existing path, from "description contains DoubleZero" to "description starts with DoubleZero ".
Everything this collector creates starts with that prefix, so the only effect is that
clear-measurements now skips a measurement made elsewhere that merely mentions DoubleZero.

Test: go test ./controlplane/internet-latency-collector/internal/ripeatlas/...

Cloud mode gets its own measurement description prefix, its own RIPE tag, its
own tag filter and its own state file. Sharing any of them with the exchange
collector lets one process reconcile against the other's measurements and stop
all of them, because a measurement with no metadata in the local state file is
treated as unwanted.

Cloud mode has no target probe, so a source is blamed for delivering nothing
only while its own measurement is still exporting, and a source that has never
delivered is judged against its measurement's creation time. Recreation is now
decided from the create list in one pass instead of a second copy of the same
checks, and a changed target probe is reported before a changed target address.
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