It would be nice to compare the Probenet latency data (reported by the browser performance measurement APIs) with the NEL success elapsed time data (measured internally by the browser). We don't expect much significant difference, of course, but we should validate this.
Description
Details
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Open | CDanis | T332024 GeoIP mapping experiments | |||
| Resolved | None | T337317 compare Probenet data w/ NEL data | |||
| Resolved | JameelKaisar | T338037 move use of Math.random() to mw.user.getPageviewToken() in probenet.js |
Event Timeline
Hi @CDanis, can you please associate one or more active project tags with this task (via the Add Action... → Change Project Tags dropdown)? That will allow to see a task when looking at project workboards or searching for tasks in certain projects, and get notified about a task when watching a related project tag. Thanks!
Should I add some kind of identifier to match NEL reports and Probenet reports? Like instead of making a request to https://measure-{data-center}.wikimedia.org/measure, we may send a request to https://measure-{data-center}.wikimedia.org/measure?id={some-random-identifier}. This will help us in comparing the both reports in a better way. We don't have to modify in the NEL part. But we have to edit the schema of the report a bit to include the identifier as well and a small update to the JS fetch code patch.
Sounds good to me!
It might also be interesting to include the pulse number in the measurement URL as well. That way we'd also get the pulse ID in the NEL reports.
That's not needed. We can match the identifier then get the pulse number from the Probenet report. But we may add it to the url as well.
Change 923448 had a related patch set uploaded (by Jameel Kaisar; author: Jameel Kaisar):
[operations/puppet@production] Allow query parameters in network probe url
Change 924120 had a related patch set uploaded (by Jameel Kaisar; author: Jameel Kaisar):
[schemas/event/primary@master] Add metadata to network/probe schema
Change 924120 merged by Ottomata:
[schemas/event/primary@master] Add metadata to network/probe schema
Change 923448 merged by CDanis:
[operations/puppet@production] Allow query parameters in network probe url
The 'elapsed_time' filed in the NEL report is similar to the 'duration_ms' field in the Probenet report. They are not equal but follow a similar trend. If we ignore the first pulse to each data center (identifier_dc_0), the 'elapsed_time' filed in the NEL report is similar to the 'request_time_ms' field in the Probenet report. Since we mostly depend on the 'request_time_ms' field for analysing the latency data, we can easily rely on the NEL data for that. But, as of now, NEL is not supported on all browsers.
Probenet Report vs NEL Report:
| DC | Pulse | elapsed_time | duration_ms | request_time_ms |
| eqsin | 0 | 1080 | 1116 | 209 |
| eqsin | 1 | 199 | 229 | 192 |
| eqsin | 2 | 188 | 212 | 181 |
| codfw | 0 | 1039 | 1104 | 174 |
| codfw | 1 | 219 | 246 | 190 |
| codfw | 2 | 185 | 206 | 171 |
| eqiad | 0 | 857 | 873 | 153 |
| eqiad | 1 | 168 | 214 | 151 |
| eqiad | 2 | 144 | 169 | 133 |
| ulsfo | 0 | 1010 | 1018 | 208 |
| ulsfo | 1 | 223 | 259 | 217 |
| ulsfo | 2 | 237 | 255 | 223 |
| drmrs | 0 | 732 | 766 | 62 |
| drmrs | 1 | 66 | 110 | 57 |
| drmrs | 2 | 62 | 87 | 51 |
| esams | 0 | 749 | 790 | 77 |
| esams | 1 | 96 | 141 | 83 |
| esams | 2 | 106 | 121 | 92 |