Browse by Tag
Data Access
12 articlesM-Lab's packet-headers service captures TCP packet headers for every connection on the M-Lab platform, stored as per-flow .pcap files indexed by UUID.
TCP INFO collects detailed TCP socket statistics from the Linux kernel for every connection on the M-Lab platform, capturing congestion control state, RTT, loss, and dozens of other metrics at regular intervals.
M-Lab's Traceroute core service automatically runs a network path measurement from every M-Lab server back to the client for every TCP connection, building a continuous record of Internet routing.
How to access M-Lab's raw NDT7 data in Google Cloud Storage using gsutil or gcloud without permission errors.
How M-Lab annotates measurements with geographic and network metadata, the accuracy and limitations of each annotation type, and how to use them correctly in analysis.
How to interpret percentile columns in M-Lab Monthly Stats data, including the counterintuitive polarity of latency and loss, and what p50 vs p95 tells you.
What the Monthly Stats dataset is, how it's derived from NDT measurements, what the parquet files contain, and how to access them without BigQuery.
A practical guide to loading, filtering, and visualising M-Lab Monthly Stats parquet files in Python using pandas, without needing BigQuery or a Google Cloud account.
MSAK is M-Lab's configurable multi-stream throughput and UDP latency measurement service — designed for researchers and developers who need more control than single-stream NDT provides.
DASH emulates a video streaming player to measure how well a network connection supports adaptive video streaming, without relying on a real video platform.
Reverse Traceroute reconstructs the network path from an M-Lab server back to a client — the direction that standard traceroute cannot see — using a distributed system of vantage points and spoofed probes.
WeHe tests whether your ISP is treating traffic from specific apps (like YouTube or Spotify) differently from other traffic — detecting throttling or blocking on a per-application basis.
Measurement Tools
1 articleWhy different speed tests produce different results, and what those differences reveal about your internet connection.
Node Operations
5 articlesRecommended Prometheus metrics endpoints and Docker logging configuration to prevent disk exhaustion on M-Lab BYOS nodes.
An overview of M-Lab's Bring Your Own Server program — what it is, what's required, and how hosting a node contributes to global internet measurement.
How to embed M-Lab's open source tests in a website, mobile app, or software product — and how integration partners can contribute infrastructure back to the M-Lab community.
How to fix an M-Lab BYOS node that is unreachable due to a mismatch between the env file IP and the server's actual public IP.
Steps to diagnose and fix a stopped or unresponsive register-node component in a Docker BYOS deployment.
Internet Quality
3 articlesHow M-Lab annotates measurements with geographic and network metadata, the accuracy and limitations of each annotation type, and how to use them correctly in analysis.
How to interpret percentile columns in M-Lab Monthly Stats data, including the counterintuitive polarity of latency and loss, and what p50 vs p95 tells you.
M-Lab enforces 40 tests per day per IP address. Learn what this means and how to work within the limit.
Research & Analysis
3 articlesHow to interpret percentile columns in M-Lab Monthly Stats data, including the counterintuitive polarity of latency and loss, and what p50 vs p95 tells you.
What the Monthly Stats dataset is, how it's derived from NDT measurements, what the parquet files contain, and how to access them without BigQuery.
A practical guide to loading, filtering, and visualising M-Lab Monthly Stats parquet files in Python using pandas, without needing BigQuery or a Google Cloud account.