From b38261a4bf94ff5cb062406633b38fa9ba055c3f Mon Sep 17 00:00:00 2001 From: Jonah Duckles Date: Thu, 9 Jul 2026 14:06:17 +1200 Subject: [PATCH] Fix ndt7_union and traceroute query --- src/content/articles/byos-overview.md | 2 +- src/content/articles/core-service-tcp-info.md | 2 +- .../articles/core-service-traceroute.md | 23 ++++++++++--------- .../articles/getting-started-bigquery.md | 4 ++-- .../articles/getting-started-isp-ixp.md | 2 +- .../articles/internet-quality-beyond-speed.md | 2 +- src/content/articles/research-guide.md | 6 ++--- src/content/articles/test-ndt.md | 4 ++-- .../articles/test-reverse-traceroute.md | 2 +- 9 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/content/articles/byos-overview.md b/src/content/articles/byos-overview.md index 20d618c..2aa7a33 100644 --- a/src/content/articles/byos-overview.md +++ b/src/content/articles/byos-overview.md @@ -80,7 +80,7 @@ Measurements from BYOS nodes flow through M-Lab's standard data pipeline: ```sql -- Query a specific site-id for BYOS test data SELECT a.TestTime, a.MeanThroughputMbps, client.Network.ASName -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE server.Site = 'your-site-id' AND date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) ORDER BY a.TestTime DESC diff --git a/src/content/articles/core-service-tcp-info.md b/src/content/articles/core-service-tcp-info.md index a5d8756..8a32b0f 100644 --- a/src/content/articles/core-service-tcp-info.md +++ b/src/content/articles/core-service-tcp-info.md @@ -55,7 +55,7 @@ SELECT ndt.client.Geo.CountryCode, tcpinfo.a.FinalSnapshot.tcpinfo.MinRTT, tcpinfo.a.FinalSnapshot.tcpinfo.SndCwnd -FROM `measurement-lab.ndt.ndt7` AS ndt +FROM `measurement-lab.ndt.ndt7_union` AS ndt JOIN `measurement-lab.ndt.tcpinfo` AS tcpinfo ON ndt.id = tcpinfo.id WHERE ndt.date = '2024-06-01' and tcpinfo.date = '2024-06-01' diff --git a/src/content/articles/core-service-traceroute.md b/src/content/articles/core-service-traceroute.md index 890dfd4..95c30d2 100644 --- a/src/content/articles/core-service-traceroute.md +++ b/src/content/articles/core-service-traceroute.md @@ -78,7 +78,7 @@ SELECT ndt.a.MeanThroughputMbps, ndt.client.Geo.CountryCode, tr.raw.Tracelb.Dst AS traceroute_destination -FROM `measurement-lab.ndt.ndt7` AS ndt +FROM `measurement-lab.ndt.ndt7_union` AS ndt JOIN `measurement-lab.ndt_raw.scamper1` AS tr ON ndt.id = tr.id WHERE ndt.date = '2024-06-01' and tr.date = '2024-06-01' @@ -90,17 +90,18 @@ WHERE ndt.date = '2024-06-01' and tr.date = '2024-06-01' ```sql -- Extract individual hops SELECT - a.StartTime, - a.Source.IP AS server_ip, - a.Destination AS client_ip, - hop.Addr AS hop_ip, - hop.TTL, - rtt.RTT AS hop_rtt_ms + TIMESTAMP_SECONDS(raw.Tracelb.start.Sec) AS start_time, + raw.Tracelb.src AS server_ip, + raw.Tracelb.dst AS client_ip, + hop.addr AS hop_ip, + probe.TTL, + rtt.RTT AS hop_rtt_ms FROM `measurement-lab.ndt_raw.scamper1`, - UNNEST(raw.Tracelb.Nodes) AS hop, - UNNEST(raw.Tracelb.nodes.Links) AS link, - UNNEST(link.links.Probes) AS probe, - UNNEST(link.links.Probes.Replies) AS rtt + UNNEST(raw.Tracelb.nodes) AS hop, + UNNEST(hop.links) AS linkgroup, + UNNEST(linkgroup.Links) AS link, + UNNEST(link.Probes) AS probe, + UNNEST(probe.Replies) AS rtt WHERE date = '2024-01-15' LIMIT 100 ``` diff --git a/src/content/articles/getting-started-bigquery.md b/src/content/articles/getting-started-bigquery.md index d531e92..ef3ea4d 100644 --- a/src/content/articles/getting-started-bigquery.md +++ b/src/content/articles/getting-started-bigquery.md @@ -65,7 +65,7 @@ SELECT client.Geo.CountryCode AS country, ROUND(AVG(a.MeanThroughputMbps), 2) AS avg_download_mbps, COUNT(*) AS test_count -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) AND a.MeanThroughputMbps > 0 AND a.MeanThroughputMbps < 10000 -- exclude outliers @@ -142,7 +142,7 @@ EXPORT DATA ) AS ( SELECT a.TestTime, a.MeanThroughputMbps, client.Geo.CountryCode - FROM `measurement-lab.ndt.ndt7` + FROM `measurement-lab.ndt.ndt7_union` WHERE date = '2024-06-01' ); ``` diff --git a/src/content/articles/getting-started-isp-ixp.md b/src/content/articles/getting-started-isp-ixp.md index 01cb734..a854f71 100644 --- a/src/content/articles/getting-started-isp-ixp.md +++ b/src/content/articles/getting-started-isp-ixp.md @@ -37,7 +37,7 @@ SELECT ROUND(APPROX_QUANTILES(a.MeanThroughputMbps, 100)[OFFSET(50)], 2) AS median_download_mbps, ROUND(APPROX_QUANTILES(a.MinRTT, 100)[OFFSET(50)], 2) AS median_rtt_ms, COUNT(*) AS test_count -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) AND client.Network.ASNumber = 12345 AND a.MeanThroughputMbps > 0 diff --git a/src/content/articles/internet-quality-beyond-speed.md b/src/content/articles/internet-quality-beyond-speed.md index c7aacf4..8bb80d4 100644 --- a/src/content/articles/internet-quality-beyond-speed.md +++ b/src/content/articles/internet-quality-beyond-speed.md @@ -37,7 +37,7 @@ In M-Lab NDT7 data: SELECT a.MinRTT, -- best-case (unloaded) latency in ms a.MeanThroughputMbps -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date = '2024-06-01' ``` diff --git a/src/content/articles/research-guide.md b/src/content/articles/research-guide.md index c2d30f8..a1f43fe 100644 --- a/src/content/articles/research-guide.md +++ b/src/content/articles/research-guide.md @@ -55,7 +55,7 @@ SELECT ROUND(APPROX_QUANTILES(a.MinRTT, 100)[OFFSET(50)], 2) AS median_rtt_ms, COUNT(*) AS test_count -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date BETWEEN '2024-01-01' AND '2024-03-31' AND client.Geo.CountryCode = 'US' AND a.MeanThroughputMbps > 0 @@ -73,7 +73,7 @@ SELECT client.Geo.Region AS region, COUNT(*) AS test_count, ROUND(AVG(a.MeanThroughputMbps), 2) AS avg_mbps -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date BETWEEN '2024-01-01' AND '2024-12-31' AND client.Geo.CountryCode = 'US' GROUP BY region @@ -89,7 +89,7 @@ SELECT DATE_TRUNC(DATE(a.TestTime), MONTH) AS month, ROUND(APPROX_QUANTILES(a.MeanThroughputMbps, 100)[OFFSET(50)], 2) AS median_mbps -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date BETWEEN '2020-01-01' AND '2024-12-31' AND client.Network.ASNumber = 7922 -- Comcast as example AND a.MeanThroughputMbps > 0 diff --git a/src/content/articles/test-ndt.md b/src/content/articles/test-ndt.md index e65ee17..37dc76a 100644 --- a/src/content/articles/test-ndt.md +++ b/src/content/articles/test-ndt.md @@ -98,7 +98,7 @@ SELECT client.Geo.CountryCode AS country, ROUND(AVG(a.MeanThroughputMbps), 2) AS avg_download_mbps, COUNT(*) AS test_count -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) AND a.MeanThroughputMbps > 0 AND a.MeanThroughputMbps < 10000 @@ -120,7 +120,7 @@ SELECT client.Geo.Region, client.Network.ASNumber, client.Network.ASName -FROM `measurement-lab.ndt.ndt7` +FROM `measurement-lab.ndt.ndt7_union` WHERE date = '2024-01-01' AND a.MeanThroughputMbps > 0 ``` diff --git a/src/content/articles/test-reverse-traceroute.md b/src/content/articles/test-reverse-traceroute.md index c477665..b23e21d 100644 --- a/src/content/articles/test-reverse-traceroute.md +++ b/src/content/articles/test-reverse-traceroute.md @@ -78,7 +78,7 @@ The primary table is `measurement-lab.revtr_raw.revtr1`. Additional supporting t ```sql --- High quality reveres paths only +-- High quality reverse paths only SELECT date, raw FROM `measurement-lab.revtr_raw.revtr1` WHERE DATE(date) = '2024-06-01'