How latency is measured
The figures on the latency page are measured continuously rather than estimated, and this page says exactly what is being timed and what is left out. It is here because the short version on that page is short, not because there is a longer version we would rather you did not read.
What is being timed
Two clocks, always: when the thing happened, and when this site said so. For a story that is the timestamp the source put on its own piece against the moment ours went live. For an on-chain event it is the moment the event was final on the chain against the moment it appeared here.
Every path is timed separately and every path has its own target, because they cost different amounts and one figure across all of them was wrong — it was measured on the fastest and then applied to the slowest, where it could not be met at all. A target nobody can hit is a broken gauge, and the honest repair was to publish what each path does and why.
Bitcoin is slower, and cannot not be
A Bitcoin block is announced within about a second of being mined, but the announcement says almost nothing: it is the block itself, close to two megabytes of it, that has to be fetched and read before anyone can say which transfers were in it and how large they were. That fetch is counted inside our Bitcoin figure and is never taken back out. Timing the announcement instead would produce a much better number describing something we had not yet read.
The two exclusions, in full
Some measurements are counted and then kept out of the averages. The counts are printed on the latency page beside the averages they were taken out of, because an exclusion nobody can see is a number nobody should trust. There are two on the on-chain paths and one more on stories, and that is all of them.
The source’s clock was ahead of ours
A Bitcoin block carries a timestamp chosen by the miner who found it, and Bitcoin does not require that to be the real time — only that it is later than the recent blocks and not wildly into the future. Miners routinely claim a time a little ahead. Counting those readings produced an average of minus 158 seconds: this wire appeared to be reporting transfers two and a half minutes before they happened, which is a measurement of the gap between two clocks and not of anything we did. 250 readings are excluded on that ground and counted on the page.
The first readings after a reconnection
When a connection to a feed drops and is picked up again, we are handed everything we missed while it was down. Timing those as though they had just happened measures the length of the interruption rather than the speed of the wire — one such reading once came out at 1,145 seconds for something that took 24. 0 readings are excluded on that ground, and the interruptions themselves are on the status page where they belong.
Stories with nothing to measure against
Some stories carry no source timestamp for us to measure from: our own on-chain reports, the Market Wrap, the desk columns, and everything published before this wire started recording the field at all. 253 of them are excluded for that reason, which is not the same as a slow story being dropped. It does mean the story figure describes the wire as it runs now.
Why the verdict is on the median
The median is the middle reading: half of everything was faster and half slower. It is the fair summary of an ordinary day. The 90th percentile is the one worth arguing about, because that slow tail is what somebody actually waited for, and where it is over the target the page says so in the same row rather than in a footnote.
What the daily chart does not cover
The live measurement is a rolling window of recent events — about two days of them — so most of the empty bars on the 30-day chart are days the record does not reach rather than days nothing happened. They are drawn empty rather than dropped: a chart that hid them would imply a month of measurements we do not have.