Measurement Methodology
Formal technical specification explaining how network performance metrics are sampled, measured, and calculated by NetPulse.
1. Overview
NetPulse measures network performance using controlled binary data transfers between the user's web browser and configured measurement endpoints. All measurements are executed over standard HTTPS protocols using native browser APIs (`fetch`, `ReadableStream`, `XMLHttpRequest`) to ensure reliable end-to-end telemetry.
2. Test Server Selection
Prior to testing, NetPulse sends initial micro-requests to available measurement edge servers. The server responding with the lowest round-trip latency is automatically designated as the active endpoint for subsequent latency, download, and upload tests.
3. Latency Measurement
Latency (ping) represents the round-trip time (RTT) required for a small packet to travel from the browser to the measurement server and back. NetPulse executes N sequential HTTP requests (default: 8 requests) with unique cache-busting timestamps. The initial request is excluded to compensate for TCP handshake overhead, and the arithmetic mean of remaining valid samples is computed in milliseconds.
4. Jitter Calculation
Jitter measures the stability and variance of latency over time. NetPulse calculates jitter as the mean absolute difference between consecutive latency samples:
Lower jitter values (below 3 ms) indicate a consistent connection suitable for real-time applications.
5. Download Measurement
Download speed is evaluated by requesting binary byte streams from the measurement endpoint across concurrent connections. Instantaneous throughput is sampled every 150 milliseconds. To eliminate initial TCP ramp-up bias, early samples (first 1.5 seconds) are excluded, and final Mbps is computed from stable sample intervals.
6. Upload Measurement
Upload speed is calculated by transmitting generated byte array payloads to the measurement server. NetPulse monitors exact transferred byte counts using `XMLHttpRequest.upload.onprogress` callbacks. Transferred payloads are discarded immediately by the server upon receipt.
7. Connection Quality Index
NetPulse connection quality scores (0 to 100) are assigned using a weighted mathematical index balancing download bandwidth (40%), upload bandwidth (25%), latency (20%), and jitter (15%). Score ratings are grouped into:
- 80–100: EXCELLENT (Suitable for 4K streaming & low-latency applications)
- 60–79: GOOD (Suitable for HD streaming & remote collaboration)
- 40–59: FAIR (Suitable for standard definition browsing)
- 0–39: POOR (Basic text messaging & light web access)
8. Measurement Limitations
Measurements are performed in the user's web browser environment and may be affected by Wi-Fi interference, background device processing, browser tab resource caps, and local network congestion. They are provided as estimates and do not constitute legal guarantees of ISP service agreements.
9. Data Handling & Security
NetPulse does not permanently store test payloads or personal identifier data. Test metrics saved to history are associated either locally within browser storage or tied securely to authenticated user accounts via Row Level Security (RLS).