Un numero è utile
se sai come è misurato.
LineaChiara esegue richieste dal dispositivo che apre la pagina. La web app è autonoma e lo script Windows è un prodotto facoltativo separato. Nessuna delle due raccolte costituisce una certificazione della linea.
Protocollo della sessione
- Verifica HTTP iniziale verso la destinazione di misura, esclusa dalla statistica a riposo.
- Se richiesto, raccolta metadati Cloudflare e raggiungibilità di due endpoint DNS-over-HTTPS (DoH).
- Serie di richieste HTTP a payload zero per misurare latenza e variabilità a riposo.
- Download con uno, due o quattro flussi e richieste di latenza concorrenti.
- Pausa di 800 ms, poi upload con le stesse impostazioni di concorrenza e misure di latenza.
- Chiusura della sessione, eventuale salvataggio locale e rapporti esportabili.
Le dimensioni dei blocchi si adattano ai tempi osservati. I dati di upload sono casuali; non vengono trasmessi documenti personali. Le richieste non usano credenziali, omettono il referrer e chiedono di evitare la cache. I byte di download vengono verificati contro il payload richiesto.
Profili facoltativi con limite dati
Per impostazione iniziale si misura a tempo: 10 secondi per direzione, modificabili in 5, 10, 20 o 30 secondi, senza tetto in MB. La tabella seguente riguarda soltanto il limite dati facoltativo.
| Profilo | Campioni a riposo | Finestra per direzione | Payload massimo prenotato |
|---|---|---|---|
| Rapido | 10 | 6 secondi | 25 MB |
| Completo | 20 | 10 secondi | 100 MB |
| Approfondito | 40 | 18 secondi | 300 MB |
Il 70% del budget va al download e il 30% all’upload. Il budget riserva ogni richiesta prima dell’invio, anche se poi fallisce. Le richieste in corso possono proseguire per il timeout residuo, fino a sei secondi. Il limite esclude header, TLS, ritrasmissioni e piccoli messaggi di controllo. Il traffico osservato non equivale ai byte fatturati dal provider. Una linea veloce può esaurire il budget prima di una finestra rappresentativa.
Formule
- Throughput aggregato: somma dei byte completati con successo × 8 / durata complessiva della fase. La durata include avvio, tempi HTTP e richieste fallite, ed è misurata su tutti i flussi concorrenti. Non si sommano velocità istantanee di richieste.
- Latenza HTTP: mediana della durata applicativa, da prima di fetch fino alla lettura del corpo. Include browser e server. Non sottraiamo tempi server ipotetici.
- Jitter HTTP: media di |t[n] − t[n−1]| su coppie consecutive valide dello stesso endpoint. Non attraversa timeout o cicli di velocità distinti. Non è il jitter RTP di una chiamata.
- p95: percentile interpolato al 95% della serie ordinata. Campioni insufficienti limitano l’utilità della stima.
- Aumento sotto carico: mediana dei tempi durante la direzione di trasferimento meno mediana a riposo. I valori negativi restano tali; non vengono nascosti.
- Deviazione standard: radice della media degli scarti quadratici dalla media, sulla popolazione dei campioni validi osservati.
I tempi DNS, connessione, TLS e primo byte provengono da Resource Timing quando esposti dal browser. Un tempo assente può significare riuso connessione, cache o restrizioni cross-origin. La durata “connessione” può includere TLS. Non viene interpretata come un problema.
Monitoraggio e interruzioni
Il monitoraggio effettua un ciclo ogni almeno cinque secondi. Interroga in sequenza la destinazione selezionata e Google DoH, ciascuna con timeout di quattro secondi. Un ciclo lento ritarda quello successivo. Il grafico rappresenta l’endpoint principale; la tabella contiene entrambi. I due percorsi non rappresentano tutto Internet. Registriamo fallimenti di richieste, non durata esatta delle interruzioni fra campioni né disponibilità contrattuale.
I cicli sono seriali e terminano su arresto, fine durata o chiusura della pagina. Il browser può rallentare schede nascoste o sospendere il dispositivo. Questi eventi limitano la misura: non promettiamo monitoraggio continuo in background.
Osservazioni automatiche
Le regole sono locali, leggibili nel codice e non usano un modello remoto. Le soglie interne di 15 ms di jitter e 40 ms di aumento sotto carico sono orientative, non standard di conformità o SLA. I rapporti distinguono evidenza, interpretazione e prova successiva; non classificano automaticamente il provider come responsabile.
Integrità e privacy
Gli orari derivano dall’orologio del dispositivo. Il rapporto HTML include un’impronta SHA-256 della sessione esportabile con la stessa opzione IP: permette di verificare coerenza dei dati, non prova che siano originali o certificati. I file JSON importati sono dati forniti dall’utente. Le note sono testo libero e devono essere controllate prima della condivisione.
Fonti tecniche
- Cloudflare: protocollo degli endpoint pubblici __down e __up. LineaChiara usa un proprio motore HTTP, non gli algoritmi o i punteggi del pacchetto Cloudflare.
- MDN: PerformanceResourceTiming.
- MDN: limiti di navigator.onLine.
- MisuraInternet: misura certificata Ne.Me.Sys..
Versione metodo 0.2 · 17 settembre 2026. Endpoint esterni e politiche dei browser possono cambiare.
A number is useful
when you know how it was measured.
LineaChiara sends requests from the device opening the page. The web app is independent, and the Windows script is a separate optional tool. Neither produces a certified assessment of the access line.
Session protocol
- Initial HTTP reachability check to the measurement destination, excluded from idle statistics.
- Optional Cloudflare metadata and reachability checks to two DNS-over-HTTPS (DoH) endpoints.
- Zero-payload HTTP requests for idle latency and variability.
- Download with one, two or four streams and concurrent latency requests.
- An 800 ms pause, then upload with the same concurrency setting and latency measurements.
- Session close, optional local storage and downloadable reports.
Block sizes adapt to observed timing. Upload data is random; personal documents are not transmitted. Requests omit credentials and referrers and ask to avoid caching. Received download bytes are checked against the requested payload.
Optional data-capped profiles
The default measures for 10 seconds per direction, adjustable to 5, 10, 20 or 30 seconds, without an MB cap. The following table only applies to the optional data limit.
| Profile | Idle samples | Window per direction | Maximum reserved payload |
|---|---|---|---|
| Quick | 10 | 6 seconds | 25 MB |
| Complete | 20 | 10 seconds | 100 MB |
| Extended | 40 | 18 seconds | 300 MB |
Download receives 70% of the budget, upload 30%. Each request reserves its allocation before being sent, even if it later fails. In-flight requests may continue for their remaining timeout, up to six seconds. Headers, TLS, retransmissions and small control messages are additional. Counters are not the provider’s billed traffic. A fast connection may exhaust the budget before a representative window is collected.
Formulas
- Aggregate throughput: successfully completed bytes × 8 / total phase duration, across all concurrent streams. Duration includes connection setup, HTTP time and failed requests. Individual request rates are not added together.
- HTTP latency: median application-level duration, from before fetch until the response body has been read. Includes browser and server work. No assumed server time is subtracted.
- HTTP jitter: mean of |t[n] − t[n−1]| for consecutive valid samples to the same endpoint, without bridging timeouts or separate speed cycles. Not the RTP jitter of a call.
- p95: interpolated 95th percentile of sorted observations. Small sample counts limit its usefulness.
- Loaded increase: median latency during a transfer direction minus idle median. Negative values remain visible.
- Standard deviation: square root of the mean squared distance from the mean over the observed valid sample population.
DNS, connection, TLS and first-byte timings come from Resource Timing when the browser exposes them. Missing timing can mean a reused connection, caching or cross-origin restrictions. Connection time may include TLS. Missing data is not interpreted as zero or a fault.
Monitoring and interruptions
Monitoring runs cycles at least five seconds apart. It queries the chosen destination and Google DoH in sequence, each with a four-second timeout. Slow cycles delay the next one. The graph shows the main destination; the table contains both. These paths do not represent the entire Internet. We record request failures, not exact outage duration between samples or contractual availability.
Cycles are serial and stop on cancellation, duration expiry or page closure. Browsers may throttle hidden tabs or suspend devices. No continuous background operation is promised.
Automatic observations
Rules are local, readable in the source and do not use a remote AI model. Internal thresholds of 15 ms jitter and 40 ms loaded increase are indicative, not compliance standards or service-level agreements. With fewer than three loaded samples in a direction, the bufferbloat warning rule is not applied to that direction. Reports separate evidence, interpretation and the next test; they do not automatically blame the provider.
Integrity, language and privacy
Timestamps use the device clock. The HTML report includes a SHA-256 fingerprint of the exportable session with the same IP option. This checks consistency, not authenticity or certification. Imported JSON is user-provided data. Review free-text notes before sharing. Switching language changes presentation and generated reports; stored samples, units, canonical field values and original event messages remain unchanged. User notes are not translated.
Technical sources
- Cloudflare: public __down and __up endpoint protocol. LineaChiara uses its own HTTP engine, not the package’s algorithms or scores.
- MDN: PerformanceResourceTiming.
- MDN: limitations of navigator.onLine.
- MisuraInternet: Ne.Me.Sys. certified measurements in Italy.
Method version 0.2 · 17 September 2026. External endpoints and browser policies may change.
Test singolo, a tempo o continuo
Il test singolo misura download e upload per 5, 10, 20 o 30 secondi ciascuno, oltre ai controlli iniziali. Le richieste già partite possono terminare entro altri 6 secondi. L’osservazione a tempo dura da minuti a ore e giorni, con 24 ore, 3 o 7 giorni già pronti e una durata personalizzabile; “Senza scadenza” prosegue fino a Stop. Mantieni aperta la pagina e il dispositivo acceso: il browser può sospendere le attività in background.
Rete completa ripete le misure di velocità all’intervallo scelto e controlla la stabilità negli intervalli. Solo stabilità esegue piccole richieste HTTP ogni 5, 15, 30 o 60 secondi, secondo la scelta, senza misurare download e upload. I test di velocità non si sovrappongono. Le modalità a tempo non hanno un tetto automatico in MB e possono consumare molti GB. Puoi scegliere un budget per ogni misurazione nelle opzioni; quel budget può accorciare il singolo test ma non termina l’osservazione.
Puoi esportare rapporti intermedi senza fermare l’osservazione. Per limitare la memoria conserviamo al massimo 10.000 campioni, 100 cicli di velocità e 2.000 eventi recenti. I rapporti dichiarano quanti dati precedenti sono stati rimossi: le statistiche riguardano la finestra conservata, mentre i contatori totali di traffico coprono l’intera sessione. Storico, cache e rapporti non costituiscono un servizio di monitoraggio sempre attivo.
Single, timed or continuous tests
A single test measures download and upload for 5, 10, 20 or 30 seconds each, in addition to initial checks. In-flight requests may take up to 6 extra seconds to finish. Timed observation lasts minutes, hours or days, with 24-hour, 3-day and 7-day presets plus a custom duration; “No end time” runs until Stop. Keep the page open and the device awake: browsers can suspend background work.
Full network repeats speed measurements at your chosen interval and observes stability between them. Stability only makes small HTTP requests every 5, 15, 30 or 60 seconds, according to your choice, without measuring download or upload speed. Speed tests never overlap. Time-based modes have no automatic MB cap and may use many GB. An optional data budget limits each speed measurement but does not end the observation.
Export interim reports without stopping observation. Memory retains at most 10,000 samples, 100 speed cycles and 2,000 recent events. Reports disclose discarded evidence: statistics describe the retained window, while traffic totals cover the entire session. History, cache and reports do not constitute an always-on monitoring service.
Ore, giorni e periodi senza connessione
La modalità Senza scadenza continua finché premi Stop. A tempo puoi scegliere da un minuto a più giorni, oppure impostare una durata personalizzata. Per un’intera giornata consigliamo Solo stabilità: fa piccole richieste, senza trasferire continuamente grandi file. Con Rete completa puoi ripetere le prove di velocità anche ogni 15, 30 o 60 minuti.
Lo storico mostra per ogni ora richieste riuscite e fallite, latenza media, jitter e velocità dei cicli terminati in quell’ora. Conserva fino a 2.160 ore con dati e 1.000 periodi da esaminare, separatamente dai 10.000 campioni grezzi, 100 cicli e 2.000 log recenti. I rapporti indicano le rimozioni. Non riempiamo le ore senza misure con zeri né dichiariamo percentuali di disponibilità continua da controlli intermittenti.
Confrontiamo il server scelto con Google: distinguiamo risposte mancanti su una o entrambe le destinazioni. Non basta per attribuire un guasto al provider. I timer rallentati o sospesi per oltre 30 secondi producono un periodo senza osservazioni; il ritorno delle risposte è registrato solo quando un controllo successivo riesce. La chiusura della pagina o lo spegnimento fermano le misure. L’opzione per mantenere lo schermo acceso dipende dal browser e non impedisce la sospensione del sistema.
Se scegli di conservare la sessione, una copia viene salvata localmente all’avvio e circa ogni minuto di attività, quando il browser lo consente. Alla riapertura puoi recuperare i dati fino all’ultimo salvataggio, senza inventare misure mancanti e senza riavviare automaticamente il traffico. Uno stop normale salva nello storico; per archiviare lunghi periodi scarica i rapporti e il JSON.
PDF pronti da condividere
Il rapporto spiegato e quello tecnico si scaricano direttamente in PDF, con riferimenti e link a PHABDEV. HTML e Markdown sono alternative. Il PDF tecnico incorpora anche session.json e samples.csv: i lettori compatibili li mostrano nel pannello allegati. Nei browser che li nascondono, scaricali separatamente dall’app. La selezione dell’IP si applica anche agli allegati; le note libere non vengono ripulite.
Server alternativi
Cloudflare resta predefinito. Puoi confrontarlo con i server pubblici Clouvider di Francoforte e Londra presenti nell’elenco ufficiale LibreSpeed. Sono risorse condivise: disponibilità, capacità e condizioni possono cambiare. Non dichiarano una partnership con PHABDEV. Non inviamo loro rapporti, note o telemetria: vedono comunque le richieste e il tuo IP. Usiamo soltanto richieste diagnostiche, download garbage.php in blocchi da 1 MiB e upload/controlli empty.php. Una diversa destinazione può cambiare il risultato anche a parità di linea.
Hours, days and missing responses
No end time continues until you press Stop. Timed mode supports minutes, hours, days or a custom duration. Stability only is recommended for a full day: small requests without continuous large transfers. Full network can repeat speed measurements every 15, 30 or 60 minutes.
Hourly history records successful and failed requests, mean resting latency, jitter and speed cycles completed in that hour. Up to 2,160 hourly buckets and 1,000 periods are retained independently of 10,000 raw samples, 100 speed cycles and 2,000 recent logs. Reports disclose removed evidence. Missing hours are not filled with zeros and intermittent checks do not establish continuous uptime percentages.
We compare the selected server with Google and distinguish missing responses on one or both destinations. This cannot identify provider responsibility. Timers delayed or suspended for over 30 seconds produce a period without observations; recovery is confirmed only by a later successful check. Closing the page or powering off stops measurements. The screen-awake option depends on browser support and does not prevent system sleep.
If local retention is enabled, a checkpoint is saved at startup and approximately every minute of activity, when supported by the browser. Reopening can recover data up to the latest save. It does not invent missing measurements or restart traffic automatically. A normal stop saves to history. Download reports and JSON to archive long observations.
PDF reports ready to share
User and technical reports download directly as PDFs, branded with links to PHABDEV. HTML and Markdown are alternatives. Technical PDFs embed session.json and samples.csv. Compatible readers expose them in the attachments panel; if a browser hides attachments, download JSON and CSV separately. Your IP selection also applies to embedded files; free-text notes are not automatically redacted.
Alternative servers
Cloudflare remains the default. Compare it with the public Clouvider servers in Frankfurt and London listed in the official LibreSpeed directory. Shared resources: availability, capacity and conditions can change. No PHABDEV partnership is implied. We send no reports, notes or telemetry, but operators see diagnostic requests and your IP. The adapter uses garbage.php downloads in 1 MiB chunks and empty.php for uploads and latency. Different destinations can produce different results on the same connection.
Guide per problema
- Jitter alto: come misurarlo e capire da cosa dipende
Videochiamate a scatti o giochi instabili? Misura il jitter HTTP, confronta Wi-Fi ed Ethernet e raccogli dati utili senza confondere indizi e diagnosi.
- Internet si disconnette: come registrare le interruzioni
Una connessione che cade per pochi secondi può sfuggire allo speed test. Registra orari, risposte mancanti e pause del browser e confronta altri dispositivi.
- Internet lento la sera: confrontare gli orari senza indovinare
Come confrontare mattina e sera, distinguere traffico domestico e possibili congestioni e preparare una segnalazione con misure ripetibili.
- Come segnalare problemi Internet al provider con un rapporto utile
Cosa scrivere all’assistenza Internet, quali prove allegare e come distinguere misure, ipotesi e reclami: una traccia pratica con rapporti PDF gratuiti.
Guides by problem
- High jitter: how to measure it and narrow down the cause
Choppy calls or unstable games despite fast downloads? Compare HTTP jitter over Wi-Fi and Ethernet and collect useful evidence without overstating the results.
- Internet keeps disconnecting: how to record the interruptions
Brief connection drops can escape a single speed test. Record timestamps, failed responses and browser pauses, then compare another device and Ethernet.
- Internet slow at night: compare peak hours without guessing
Compare daytime and evening speeds under controlled conditions, separate household traffic from possible congestion and build a repeatable support report.
- How to report Internet problems to your ISP with useful evidence
What to tell Internet support, which measurements to attach and how to separate observations from assumptions. Includes a practical template and free PDF reports.