From 959534e2fdb408ea63cc72845c47ffd0c76c096b Mon Sep 17 00:00:00 2001 From: pmodular <282521242+pmodular@users.noreply.github.com> Date: Wed, 7 Oct 2026 00:57:29 +0900 Subject: [PATCH] webchannel/benchmark: stop ignoring the cases with early POST 400 --- .../artifacts.md | 4 + .../including-early-post-400/artifacts.md | 12 + .../delay-0ms/histograms/histogram-data.json | 1153 +++++ .../delay-0ms/histograms/pair-differences.csv | 51 + .../histograms/ttfa-on-minus-off.png | Bin 0 -> 45914 bytes .../histograms/ttfa-on-minus-off.svg | 4400 ++++++++++++++++ .../histograms/ttfd-on-minus-off.png | Bin 0 -> 46714 bytes .../histograms/ttfd-on-minus-off.svg | 4278 ++++++++++++++++ .../histograms/histogram-data.json | 1149 +++++ .../histograms/pair-differences.csv | 51 + .../histograms/ttfa-on-minus-off.png | Bin 0 -> 46986 bytes .../histograms/ttfa-on-minus-off.svg | 4425 ++++++++++++++++ .../histograms/ttfd-on-minus-off.png | Bin 0 -> 45663 bytes .../histograms/ttfd-on-minus-off.svg | 4227 +++++++++++++++ .../histograms/histogram-data.json | 1147 +++++ .../histograms/pair-differences.csv | 51 + .../histograms/ttfa-on-minus-off.png | Bin 0 -> 50344 bytes .../histograms/ttfa-on-minus-off.svg | 4516 +++++++++++++++++ .../histograms/ttfd-on-minus-off.png | Bin 0 -> 49494 bytes .../histograms/ttfd-on-minus-off.svg | 4293 ++++++++++++++++ .../delay-50ms/histograms/histogram-data.json | 1155 +++++ .../histograms/pair-differences.csv | 51 + .../histograms/ttfa-on-minus-off.png | Bin 0 -> 47195 bytes .../histograms/ttfa-on-minus-off.svg | 4439 ++++++++++++++++ .../histograms/ttfd-on-minus-off.png | Bin 0 -> 47791 bytes .../histograms/ttfd-on-minus-off.svg | 4317 ++++++++++++++++ .../including-early-post-400/report.md | 93 + .../run-metadata.json | 85 + webchannel/benchmark/lens/AGENTS.md | 1 + webchannel/benchmark/lens/README.md | 4 + .../lens/summarize-cold-benchmark.py | 14 +- .../benchmark/lens/summarize-delay-sweep.py | 85 + 32 files changed, 39997 insertions(+), 4 deletions(-) create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/artifacts.md create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/histogram-data.json create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/pair-differences.csv create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfa-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfa-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfd-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfd-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/histogram-data.json create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/pair-differences.csv create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfa-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfa-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfd-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfd-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/histogram-data.json create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/pair-differences.csv create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfa-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfa-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfd-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfd-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/histogram-data.json create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/pair-differences.csv create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfa-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfa-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfd-on-minus-off.png create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfd-on-minus-off.svg create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/report.md create mode 100644 webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/run-metadata.json diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/artifacts.md b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/artifacts.md index 8075a57..01fcdd2 100644 --- a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/artifacts.md +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/artifacts.md @@ -1,5 +1,9 @@ # Omnient delay-sweep artifacts +## Additional report views + +[Report including early POST HTTP 400 pairs](including-early-post-400/report.md) · [Inclusive histogram evidence](including-early-post-400/artifacts.md). This view uses the same measurements and keeps the completion, fresh-transport, and 20 ms handshake-difference requirements. + [Report](report.md) · [Connection reuse audit](connection-reuse-audit.md) Each delay retains every attempted OFF/ON trial. Raw CSV/JSON, logs, result bundles, histogram bins, paired differences, and selection decisions are linked below. diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/artifacts.md b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/artifacts.md new file mode 100644 index 0000000..641ac8a --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/artifacts.md @@ -0,0 +1,12 @@ +# Inclusive histogram artifacts + +[Report](report.md) · [Original measurement artifacts](../artifacts.md) · [Connection reuse audit](../connection-reuse-audit.md) + +This report reuses the original measurements and HTTP logs. Only the early POST HTTP 400 exclusion is disabled. The original report and its plots are preserved. + +| M1 delay (ms) | Raw evidence | Selection decisions and bins | Paired differences | +|---:|---|---|---| +| 0 | [Artifacts](../delay-0ms/artifacts.md) · [Input hashes](../delay-0ms/histograms/input-manifest.json) | [JSON](delay-0ms/histograms/histogram-data.json) | [CSV](delay-0ms/histograms/pair-differences.csv) | +| 50 | [Artifacts](../delay-50ms/artifacts.md) · [Input hashes](../delay-50ms/histograms/input-manifest.json) | [JSON](delay-50ms/histograms/histogram-data.json) | [CSV](delay-50ms/histograms/pair-differences.csv) | +| 100 | [Artifacts](../delay-100ms/artifacts.md) · [Input hashes](../delay-100ms/histograms/input-manifest.json) | [JSON](delay-100ms/histograms/histogram-data.json) | [CSV](delay-100ms/histograms/pair-differences.csv) | +| 200 | [Artifacts](../delay-200ms/artifacts.md) · [Input hashes](../delay-200ms/histograms/input-manifest.json) | [JSON](delay-200ms/histograms/histogram-data.json) | [CSV](delay-200ms/histograms/pair-differences.csv) | diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/histogram-data.json b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/histogram-data.json new file mode 100644 index 0000000..7d3b011 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/histogram-data.json @@ -0,0 +1,1153 @@ +{ + "initialMessageDelayMs": 0, + "pairCount": 50, + "handshakeThresholdMs": 20.0, + "includeEarlyPost400": true, + "difference": "ON minus OFF", + "binWidthMs": 10, + "pairs": [ + { + "pair": 1, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -686.2250566482544, + "ttfdDifferenceMs": -689.8720264434814 + }, + { + "pair": 2, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -266.2680149078369, + "ttfdDifferenceMs": -211.44402027130127 + }, + { + "pair": 3, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 419.1168546676636, + "ttfdDifferenceMs": 376.67083740234375 + }, + { + "pair": 4, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -168.90215873718262, + "ttfdDifferenceMs": -156.24713897705078 + }, + { + "pair": 5, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -213.73391151428223, + "ttfdDifferenceMs": -163.61403465270996 + }, + { + "pair": 6, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -132.5669288635254, + "ttfdDifferenceMs": -130.3039789199829 + }, + { + "pair": 7, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -126.26504898071289, + "ttfdDifferenceMs": -135.53404808044434 + }, + { + "pair": 8, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -242.96796321868896, + "ttfdDifferenceMs": -192.8020715713501 + }, + { + "pair": 9, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -142.1661376953125, + "ttfdDifferenceMs": -138.47100734710693 + }, + { + "pair": 10, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -72.91996479034424, + "ttfdDifferenceMs": -22.04608917236328 + }, + { + "pair": 11, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -134.00089740753174, + "ttfdDifferenceMs": -135.94400882720947 + }, + { + "pair": 12, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 25.297045707702637, + "ttfdDifferenceMs": 26.59893035888672 + }, + { + "pair": 13, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -139.88900184631348, + "ttfdDifferenceMs": -130.64706325531006 + }, + { + "pair": 14, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -274.3901014328003, + "ttfdDifferenceMs": -225.38602352142334 + }, + { + "pair": 15, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -135.71202754974365, + "ttfdDifferenceMs": -137.28809356689453 + }, + { + "pair": 16, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -140.1510238647461, + "ttfdDifferenceMs": -123.22998046875 + }, + { + "pair": 17, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -209.79690551757812, + "ttfdDifferenceMs": 38.91611099243164 + }, + { + "pair": 18, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -82.06808567047119, + "ttfdDifferenceMs": -45.27008533477783 + }, + { + "pair": 19, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -149.880051612854, + "ttfdDifferenceMs": -147.9640007019043 + }, + { + "pair": 20, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -284.28900241851807, + "ttfdDifferenceMs": -283.14101696014404 + }, + { + "pair": 21, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 286.07189655303955, + "ttfdDifferenceMs": 294.02899742126465 + }, + { + "pair": 22, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -135.187029838562, + "ttfdDifferenceMs": -136.58607006072998 + }, + { + "pair": 23, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -126.20306015014648, + "ttfdDifferenceMs": -120.9869384765625 + }, + { + "pair": 24, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -145.17199993133545, + "ttfdDifferenceMs": -156.27801418304443 + }, + { + "pair": 25, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -158.42998027801514, + "ttfdDifferenceMs": -156.66794776916504 + }, + { + "pair": 26, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -137.9150152206421, + "ttfdDifferenceMs": -126.16300582885742 + }, + { + "pair": 27, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -284.0619087219238, + "ttfdDifferenceMs": -276.3129472732544 + }, + { + "pair": 28, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 1450.154185295105, + "ttfdDifferenceMs": 1410.9081029891968 + }, + { + "pair": 29, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -144.7979211807251, + "ttfdDifferenceMs": -143.21398735046387 + }, + { + "pair": 30, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -138.82505893707275, + "ttfdDifferenceMs": -138.81099224090576 + }, + { + "pair": 31, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -136.3229751586914, + "ttfdDifferenceMs": -125.16498565673828 + }, + { + "pair": 32, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -113.97898197174072, + "ttfdDifferenceMs": -87.07797527313232 + }, + { + "pair": 33, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -112.81394958496094, + "ttfdDifferenceMs": -106.10103607177734 + }, + { + "pair": 34, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -267.4858570098877, + "ttfdDifferenceMs": -217.229962348938 + }, + { + "pair": 35, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -143.57399940490723, + "ttfdDifferenceMs": -139.043927192688 + }, + { + "pair": 36, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -130.35905361175537, + "ttfdDifferenceMs": -130.76400756835938 + }, + { + "pair": 37, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -138.2439136505127, + "ttfdDifferenceMs": -122.8179931640625 + }, + { + "pair": 38, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -152.1850824356079, + "ttfdDifferenceMs": -142.06111431121826 + }, + { + "pair": 39, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -118.65293979644775, + "ttfdDifferenceMs": -116.94800853729248 + }, + { + "pair": 40, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -256.90996646881104, + "ttfdDifferenceMs": -251.2040138244629 + }, + { + "pair": 41, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -308.7778091430664, + "ttfdDifferenceMs": -259.17887687683105 + }, + { + "pair": 42, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -251.48308277130127, + "ttfdDifferenceMs": -201.76804065704346 + }, + { + "pair": 43, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -143.8438892364502, + "ttfdDifferenceMs": -139.9219036102295 + }, + { + "pair": 44, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -147.7978229522705, + "ttfdDifferenceMs": -133.9728832244873 + }, + { + "pair": 45, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -150.26187896728516, + "ttfdDifferenceMs": -130.50591945648193 + }, + { + "pair": 46, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -147.6280689239502, + "ttfdDifferenceMs": -147.75311946868896 + }, + { + "pair": 47, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -147.70591259002686, + "ttfdDifferenceMs": -141.6260004043579 + }, + { + "pair": 48, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -129.660964012146, + "ttfdDifferenceMs": -119.58301067352295 + }, + { + "pair": 49, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -152.95302867889404, + "ttfdDifferenceMs": -146.71194553375244 + }, + { + "pair": 50, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -124.28903579711914, + "ttfdDifferenceMs": -119.22407150268555 + } + ], + "histograms": { + "TTFA": { + "binEdgesMs": [ + -310.0, + -300.0, + -290.0, + -280.0, + -270.0, + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0, + 1430.0, + 1440.0, + 1450.0, + 1460.0 + ], + "pairCounts": [ + 1, + 0, + 0, + 1, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 4, + 10, + 9, + 3, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + }, + "TTFD": { + "binEdgesMs": [ + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0 + ], + "pairCounts": [ + 1, + 0, + 0, + 1, + 2, + 1, + 1, + 0, + 0, + 0, + 3, + 6, + 12, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + } + }, + "acceptedPairs": 35, + "includedEarlyPost400Pairs": 18, + "earlyPost400Pairs": 29, + "sharedHistogramAxes": true, + "matplotlibVersion": "3.10.9", + "generatorSHA256": "b765d59d61723c27082f9ce1a4db0d904141b82b945b88d70ba4a9f5fefb09ff", + "selectionGeneratorSHA256": "8b88689d7d9df75ed0c03f09bfc27e5d046078abf56308683bb38ce4d4a35fcc" +} diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/pair-differences.csv b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/pair-differences.csv new file mode 100644 index 0000000..ae5b74a --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/pair-differences.csv @@ -0,0 +1,51 @@ +pair,accepted,exclusionReasons,earlyPostHTTP,ttfaDifferenceMs,ttfdDifferenceMs +1,False,['handshake difference >20 ms'],200,-686.2250566482544,-689.8720264434814 +2,True,[],400,-266.2680149078369,-211.44402027130127 +3,False,['handshake difference >20 ms'],400,419.1168546676636,376.67083740234375 +4,True,[],200,-168.90215873718262,-156.24713897705078 +5,False,['handshake difference >20 ms'],400,-213.73391151428223,-163.61403465270996 +6,True,[],200,-132.5669288635254,-130.3039789199829 +7,True,[],200,-126.26504898071289,-135.53404808044434 +8,True,[],200,-242.96796321868896,-192.8020715713501 +9,True,[],200,-142.1661376953125,-138.47100734710693 +10,True,[],200,-72.91996479034424,-22.04608917236328 +11,True,[],200,-134.00089740753174,-135.94400882720947 +12,False,['handshake difference >20 ms'],200,25.297045707702637,26.59893035888672 +13,True,[],400,-139.88900184631348,-130.64706325531006 +14,True,[],400,-274.3901014328003,-225.38602352142334 +15,True,[],200,-135.71202754974365,-137.28809356689453 +16,True,[],400,-140.1510238647461,-123.22998046875 +17,False,['handshake difference >20 ms'],400,-209.79690551757812,38.91611099243164 +18,False,['handshake difference >20 ms'],400,-82.06808567047119,-45.27008533477783 +19,True,[],400,-149.880051612854,-147.9640007019043 +20,False,['handshake difference >20 ms'],400,-284.28900241851807,-283.14101696014404 +21,False,['handshake difference >20 ms'],400,286.07189655303955,294.02899742126465 +22,True,[],400,-135.187029838562,-136.58607006072998 +23,True,[],200,-126.20306015014648,-120.9869384765625 +24,True,[],400,-145.17199993133545,-156.27801418304443 +25,True,[],400,-158.42998027801514,-156.66794776916504 +26,True,[],400,-137.9150152206421,-126.16300582885742 +27,False,['handshake difference >20 ms'],400,-284.0619087219238,-276.3129472732544 +28,True,[],200,1450.154185295105,1410.9081029891968 +29,True,[],400,-144.7979211807251,-143.21398735046387 +30,True,[],200,-138.82505893707275,-138.81099224090576 +31,True,[],200,-136.3229751586914,-125.16498565673828 +32,False,['handshake difference >20 ms'],400,-113.97898197174072,-87.07797527313232 +33,False,['handshake difference >20 ms'],400,-112.81394958496094,-106.10103607177734 +34,True,[],400,-267.4858570098877,-217.229962348938 +35,True,[],400,-143.57399940490723,-139.043927192688 +36,False,['handshake difference >20 ms'],200,-130.35905361175537,-130.76400756835938 +37,True,[],400,-138.2439136505127,-122.8179931640625 +38,True,[],200,-152.1850824356079,-142.06111431121826 +39,False,['handshake difference >20 ms'],200,-118.65293979644775,-116.94800853729248 +40,False,['handshake difference >20 ms'],400,-256.90996646881104,-251.2040138244629 +41,True,[],400,-308.7778091430664,-259.17887687683105 +42,True,[],400,-251.48308277130127,-201.76804065704346 +43,True,[],400,-143.8438892364502,-139.9219036102295 +44,True,[],400,-147.7978229522705,-133.9728832244873 +45,True,[],200,-150.26187896728516,-130.50591945648193 +46,True,[],200,-147.6280689239502,-147.75311946868896 +47,True,[],400,-147.70591259002686,-141.6260004043579 +48,False,['handshake difference >20 ms'],400,-129.660964012146,-119.58301067352295 +49,True,[],200,-152.95302867889404,-146.71194553375244 +50,True,[],200,-124.28903579711914,-119.22407150268555 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfa-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfa-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..e12165cc216e800e5622eb637151943fd1e965f4 GIT binary patch literal 45914 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 + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfd-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfd-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..c466c63116424a9ac1c5db2aaf51eac875bbff21 GIT binary patch literal 46714 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 literal 0 HcmV?d00001 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfd-on-minus-off.svg b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfd-on-minus-off.svg new file mode 100644 index 0000000..e45de96 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-0ms/histograms/ttfd-on-minus-off.svg @@ -0,0 +1,4278 @@ + + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/histogram-data.json b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/histogram-data.json new file mode 100644 index 0000000..e8c1d48 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/histogram-data.json @@ -0,0 +1,1149 @@ +{ + "initialMessageDelayMs": 100, + "pairCount": 50, + "handshakeThresholdMs": 20.0, + "includeEarlyPost400": true, + "difference": "ON minus OFF", + "binWidthMs": 10, + "pairs": [ + { + "pair": 1, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -73.94194602966309, + "ttfdDifferenceMs": -67.9008960723877 + }, + { + "pair": 2, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -209.59293842315674, + "ttfdDifferenceMs": -161.45098209381104 + }, + { + "pair": 3, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -107.43892192840576, + "ttfdDifferenceMs": -119.01605129241943 + }, + { + "pair": 4, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -52.25396156311035, + "ttfdDifferenceMs": -51.26595497131348 + }, + { + "pair": 5, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -73.28498363494873, + "ttfdDifferenceMs": -77.78000831604004 + }, + { + "pair": 6, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -63.34185600280762, + "ttfdDifferenceMs": -62.988877296447754 + }, + { + "pair": 7, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -68.27199459075928, + "ttfdDifferenceMs": -72.41201400756836 + }, + { + "pair": 8, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -50.004005432128906, + "ttfdDifferenceMs": -44.69108581542969 + }, + { + "pair": 9, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -57.05606937408447, + "ttfdDifferenceMs": -53.034067153930664 + }, + { + "pair": 10, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -63.474059104919434, + "ttfdDifferenceMs": -49.29399490356445 + }, + { + "pair": 11, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -72.0059871673584, + "ttfdDifferenceMs": -65.59908390045166 + }, + { + "pair": 12, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -69.64492797851562, + "ttfdDifferenceMs": -69.85294818878174 + }, + { + "pair": 13, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -91.08996391296387, + "ttfdDifferenceMs": -88.56093883514404 + }, + { + "pair": 14, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -81.05003833770752, + "ttfdDifferenceMs": -79.87701892852783 + }, + { + "pair": 15, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -68.20106506347656, + "ttfdDifferenceMs": -66.24913215637207 + }, + { + "pair": 16, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -64.66293334960938, + "ttfdDifferenceMs": -58.71093273162842 + }, + { + "pair": 17, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -67.97003746032715, + "ttfdDifferenceMs": -63.68100643157959 + }, + { + "pair": 18, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 102.26094722747803, + "ttfdDifferenceMs": 57.30998516082764 + }, + { + "pair": 19, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -222.32306003570557, + "ttfdDifferenceMs": -173.78711700439453 + }, + { + "pair": 20, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -68.89402866363525, + "ttfdDifferenceMs": -68.44103336334229 + }, + { + "pair": 21, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -44.3340539932251, + "ttfdDifferenceMs": -47.557950019836426 + }, + { + "pair": 22, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -237.746000289917, + "ttfdDifferenceMs": -187.9209280014038 + }, + { + "pair": 23, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -55.946946144104004, + "ttfdDifferenceMs": -55.523037910461426 + }, + { + "pair": 24, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -117.39003658294678, + "ttfdDifferenceMs": -113.42203617095947 + }, + { + "pair": 25, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -49.44193363189697, + "ttfdDifferenceMs": -45.726895332336426 + }, + { + "pair": 26, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -90.19601345062256, + "ttfdDifferenceMs": -88.63389492034912 + }, + { + "pair": 27, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -61.3938570022583, + "ttfdDifferenceMs": -65.61887264251709 + }, + { + "pair": 28, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -76.51591300964355, + "ttfdDifferenceMs": -75.61099529266357 + }, + { + "pair": 29, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -45.85087299346924, + "ttfdDifferenceMs": -42.29593276977539 + }, + { + "pair": 30, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -81.10499382019043, + "ttfdDifferenceMs": -63.44807147979736 + }, + { + "pair": 31, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -42.01102256774902, + "ttfdDifferenceMs": -36.16595268249512 + }, + { + "pair": 32, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -62.52288818359375, + "ttfdDifferenceMs": -62.40808963775635 + }, + { + "pair": 33, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -50.68695545196533, + "ttfdDifferenceMs": -45.81093788146973 + }, + { + "pair": 34, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -62.767982482910156, + "ttfdDifferenceMs": -57.166099548339844 + }, + { + "pair": 35, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -67.45803356170654, + "ttfdDifferenceMs": -57.98006057739258 + }, + { + "pair": 36, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -52.54006385803223, + "ttfdDifferenceMs": -51.05710029602051 + }, + { + "pair": 37, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -25.085926055908203, + "ttfdDifferenceMs": -71.6710090637207 + }, + { + "pair": 38, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -70.66488265991211, + "ttfdDifferenceMs": -57.498931884765625 + }, + { + "pair": 39, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -134.10604000091553, + "ttfdDifferenceMs": -133.40997695922852 + }, + { + "pair": 40, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -87.4030590057373, + "ttfdDifferenceMs": -77.4010419845581 + }, + { + "pair": 41, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -46.167969703674316, + "ttfdDifferenceMs": -49.60298538208008 + }, + { + "pair": 42, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -46.99993133544922, + "ttfdDifferenceMs": -48.99299144744873 + }, + { + "pair": 43, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -122.55096435546875, + "ttfdDifferenceMs": -121.64998054504395 + }, + { + "pair": 44, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -67.30103492736816, + "ttfdDifferenceMs": -64.1469955444336 + }, + { + "pair": 45, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -63.903093338012695, + "ttfdDifferenceMs": -62.59918212890625 + }, + { + "pair": 46, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -53.256988525390625, + "ttfdDifferenceMs": -53.08198928833008 + }, + { + "pair": 47, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -56.44798278808594, + "ttfdDifferenceMs": -55.43398857116699 + }, + { + "pair": 48, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -46.8289852142334, + "ttfdDifferenceMs": -46.00811004638672 + }, + { + "pair": 49, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -115.52810668945312, + "ttfdDifferenceMs": -108.74903202056885 + }, + { + "pair": 50, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 80.28209209442139, + "ttfdDifferenceMs": 85.10303497314453 + } + ], + "histograms": { + "TTFA": { + "binEdgesMs": [ + -310.0, + -300.0, + -290.0, + -280.0, + -270.0, + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0, + 1430.0, + 1440.0, + 1450.0, + 1460.0 + ], + "pairCounts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 4, + 12, + 8, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "TTFD": { + "binEdgesMs": [ + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0 + ], + "pairCounts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 4, + 11, + 9, + 8, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "acceptedPairs": 37, + "includedEarlyPost400Pairs": 0, + "earlyPost400Pairs": 0, + "sharedHistogramAxes": true, + "matplotlibVersion": "3.10.9", + "generatorSHA256": "b765d59d61723c27082f9ce1a4db0d904141b82b945b88d70ba4a9f5fefb09ff", + "selectionGeneratorSHA256": "8b88689d7d9df75ed0c03f09bfc27e5d046078abf56308683bb38ce4d4a35fcc" +} diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/pair-differences.csv b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/pair-differences.csv new file mode 100644 index 0000000..4b7744e --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/pair-differences.csv @@ -0,0 +1,51 @@ +pair,accepted,exclusionReasons,earlyPostHTTP,ttfaDifferenceMs,ttfdDifferenceMs +1,True,[],200,-73.94194602966309,-67.9008960723877 +2,True,[],200,-209.59293842315674,-161.45098209381104 +3,False,['handshake difference >20 ms'],200,-107.43892192840576,-119.01605129241943 +4,True,[],200,-52.25396156311035,-51.26595497131348 +5,True,[],200,-73.28498363494873,-77.78000831604004 +6,True,[],200,-63.34185600280762,-62.988877296447754 +7,True,[],200,-68.27199459075928,-72.41201400756836 +8,True,[],200,-50.004005432128906,-44.69108581542969 +9,True,[],200,-57.05606937408447,-53.034067153930664 +10,False,['handshake difference >20 ms'],200,-63.474059104919434,-49.29399490356445 +11,True,[],200,-72.0059871673584,-65.59908390045166 +12,True,[],200,-69.64492797851562,-69.85294818878174 +13,True,[],200,-91.08996391296387,-88.56093883514404 +14,False,['handshake difference >20 ms'],200,-81.05003833770752,-79.87701892852783 +15,True,[],200,-68.20106506347656,-66.24913215637207 +16,True,[],200,-64.66293334960938,-58.71093273162842 +17,True,[],200,-67.97003746032715,-63.68100643157959 +18,False,['handshake difference >20 ms'],200,102.26094722747803,57.30998516082764 +19,True,[],200,-222.32306003570557,-173.78711700439453 +20,True,[],200,-68.89402866363525,-68.44103336334229 +21,True,[],200,-44.3340539932251,-47.557950019836426 +22,True,[],200,-237.746000289917,-187.9209280014038 +23,True,[],200,-55.946946144104004,-55.523037910461426 +24,False,['handshake difference >20 ms'],200,-117.39003658294678,-113.42203617095947 +25,True,[],200,-49.44193363189697,-45.726895332336426 +26,False,['handshake difference >20 ms'],200,-90.19601345062256,-88.63389492034912 +27,True,[],200,-61.3938570022583,-65.61887264251709 +28,True,[],200,-76.51591300964355,-75.61099529266357 +29,True,[],200,-45.85087299346924,-42.29593276977539 +30,True,[],200,-81.10499382019043,-63.44807147979736 +31,True,[],200,-42.01102256774902,-36.16595268249512 +32,False,['handshake difference >20 ms'],200,-62.52288818359375,-62.40808963775635 +33,True,[],200,-50.68695545196533,-45.81093788146973 +34,True,[],200,-62.767982482910156,-57.166099548339844 +35,True,[],200,-67.45803356170654,-57.98006057739258 +36,True,[],200,-52.54006385803223,-51.05710029602051 +37,False,['handshake difference >20 ms'],200,-25.085926055908203,-71.6710090637207 +38,False,['handshake difference >20 ms'],200,-70.66488265991211,-57.498931884765625 +39,False,['handshake difference >20 ms'],200,-134.10604000091553,-133.40997695922852 +40,True,[],200,-87.4030590057373,-77.4010419845581 +41,True,[],200,-46.167969703674316,-49.60298538208008 +42,True,[],200,-46.99993133544922,-48.99299144744873 +43,False,['handshake difference >20 ms'],200,-122.55096435546875,-121.64998054504395 +44,True,[],200,-67.30103492736816,-64.1469955444336 +45,True,[],200,-63.903093338012695,-62.59918212890625 +46,True,[],200,-53.256988525390625,-53.08198928833008 +47,True,[],200,-56.44798278808594,-55.43398857116699 +48,True,[],200,-46.8289852142334,-46.00811004638672 +49,False,['handshake difference >20 ms'],200,-115.52810668945312,-108.74903202056885 +50,False,['handshake difference >20 ms'],200,80.28209209442139,85.10303497314453 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfa-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfa-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..0aee18b23fe5737e6011b00b310da0ae6818bc5e GIT binary patch literal 46986 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 ~Z^m4! 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 literal 0 HcmV?d00001 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfa-on-minus-off.svg b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfa-on-minus-off.svg new file mode 100644 index 0000000..28ce001 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfa-on-minus-off.svg @@ -0,0 +1,4425 @@ + + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfd-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfd-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..574aa1975c28fff65c7064f3c3abcede254f2954 GIT binary patch literal 45663 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 gQh!L?Hq)$ literal 0 HcmV?d00001 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfd-on-minus-off.svg b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfd-on-minus-off.svg new file mode 100644 index 0000000..ad8b570 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-100ms/histograms/ttfd-on-minus-off.svg @@ -0,0 +1,4227 @@ + + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/histogram-data.json b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/histogram-data.json new file mode 100644 index 0000000..2379533 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/histogram-data.json @@ -0,0 +1,1147 @@ +{ + "initialMessageDelayMs": 200, + "pairCount": 50, + "handshakeThresholdMs": 20.0, + "includeEarlyPost400": true, + "difference": "ON minus OFF", + "binWidthMs": 10, + "pairs": [ + { + "pair": 1, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -0.4839897155761719, + "ttfdDifferenceMs": -6.986856460571289 + }, + { + "pair": 2, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -1.7249584197998047, + "ttfdDifferenceMs": -7.667064666748047 + }, + { + "pair": 3, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 3.859877586364746, + "ttfdDifferenceMs": 6.790041923522949 + }, + { + "pair": 4, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 2.8330087661743164, + "ttfdDifferenceMs": 2.2519826889038086 + }, + { + "pair": 5, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 9.38403606414795, + "ttfdDifferenceMs": 11.319994926452637 + }, + { + "pair": 6, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 6.657958030700684, + "ttfdDifferenceMs": 7.976055145263672 + }, + { + "pair": 7, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 0.25200843811035156, + "ttfdDifferenceMs": 0.03695487976074219 + }, + { + "pair": 8, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 0.5459785461425781, + "ttfdDifferenceMs": 3.399968147277832 + }, + { + "pair": 9, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 21.10004425048828, + "ttfdDifferenceMs": 16.224026679992676 + }, + { + "pair": 10, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -0.8360147476196289, + "ttfdDifferenceMs": -1.9840002059936523 + }, + { + "pair": 11, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 7.454991340637207, + "ttfdDifferenceMs": 10.944008827209473 + }, + { + "pair": 12, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 241.97900295257568, + "ttfdDifferenceMs": 242.89000034332275 + }, + { + "pair": 13, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -109.48002338409424, + "ttfdDifferenceMs": -63.38691711425781 + }, + { + "pair": 14, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 13.944029808044434, + "ttfdDifferenceMs": 11.252164840698242 + }, + { + "pair": 15, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 4.836082458496094, + "ttfdDifferenceMs": 5.234122276306152 + }, + { + "pair": 16, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 18.182873725891113, + "ttfdDifferenceMs": 15.481948852539062 + }, + { + "pair": 17, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -1.6189813613891602, + "ttfdDifferenceMs": -1.0319948196411133 + }, + { + "pair": 18, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 7.2479248046875, + "ttfdDifferenceMs": 7.444977760314941 + }, + { + "pair": 19, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 8.040070533752441, + "ttfdDifferenceMs": 13.921976089477539 + }, + { + "pair": 20, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -0.44095516204833984, + "ttfdDifferenceMs": 0.5891323089599609 + }, + { + "pair": 21, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 5.542993545532227, + "ttfdDifferenceMs": 8.618950843811035 + }, + { + "pair": 22, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 4.708051681518555, + "ttfdDifferenceMs": 0.74005126953125 + }, + { + "pair": 23, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 7.37309455871582, + "ttfdDifferenceMs": 9.621977806091309 + }, + { + "pair": 24, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 6.170988082885742, + "ttfdDifferenceMs": 1.672983169555664 + }, + { + "pair": 25, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 90.17598628997803, + "ttfdDifferenceMs": 85.48688888549805 + }, + { + "pair": 26, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 13.141989707946777, + "ttfdDifferenceMs": 11.074066162109375 + }, + { + "pair": 27, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": -91.18902683258057, + "ttfdDifferenceMs": -43.1361198425293 + }, + { + "pair": 28, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 5.897045135498047, + "ttfdDifferenceMs": 8.980989456176758 + }, + { + "pair": 29, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 4.007935523986816, + "ttfdDifferenceMs": -2.838015556335449 + }, + { + "pair": 30, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -235.18705368041992, + "ttfdDifferenceMs": -229.7450304031372 + }, + { + "pair": 31, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 112.7328872680664, + "ttfdDifferenceMs": 110.17191410064697 + }, + { + "pair": 32, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 14.60111141204834, + "ttfdDifferenceMs": 19.12999153137207 + }, + { + "pair": 33, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 157.70196914672852, + "ttfdDifferenceMs": 107.30600357055664 + }, + { + "pair": 34, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 2.889871597290039, + "ttfdDifferenceMs": 6.633877754211426 + }, + { + "pair": 35, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -6.179928779602051, + "ttfdDifferenceMs": -2.998948097229004 + }, + { + "pair": 36, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 3.956913948059082, + "ttfdDifferenceMs": 15.018939971923828 + }, + { + "pair": 37, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 18.550992012023926, + "ttfdDifferenceMs": 18.2340145111084 + }, + { + "pair": 38, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -57.62004852294922, + "ttfdDifferenceMs": -101.51302814483643 + }, + { + "pair": 39, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 1.484990119934082, + "ttfdDifferenceMs": 0.861048698425293 + }, + { + "pair": 40, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -5.360007286071777, + "ttfdDifferenceMs": -7.887840270996094 + }, + { + "pair": 41, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -12.237906455993652, + "ttfdDifferenceMs": -13.952970504760742 + }, + { + "pair": 42, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 4.53495979309082, + "ttfdDifferenceMs": -0.20802021026611328 + }, + { + "pair": 43, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -107.69093036651611, + "ttfdDifferenceMs": -57.83188343048096 + }, + { + "pair": 44, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -77.00896263122559, + "ttfdDifferenceMs": -27.043938636779785 + }, + { + "pair": 45, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 8.283138275146484, + "ttfdDifferenceMs": 8.158087730407715 + }, + { + "pair": 46, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -77.71992683410645, + "ttfdDifferenceMs": -80.70099353790283 + }, + { + "pair": 47, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": -22.328972816467285, + "ttfdDifferenceMs": 19.273996353149414 + }, + { + "pair": 48, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 7.459044456481934, + "ttfdDifferenceMs": 10.126113891601562 + }, + { + "pair": 49, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -24.30105209350586, + "ttfdDifferenceMs": -13.17906379699707 + }, + { + "pair": 50, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "not sent", + "ttfaDifferenceMs": 9.240031242370605, + "ttfdDifferenceMs": 3.8721561431884766 + } + ], + "histograms": { + "TTFA": { + "binEdgesMs": [ + -310.0, + -300.0, + -290.0, + -280.0, + -270.0, + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0, + 1430.0, + 1440.0, + 1450.0, + 1460.0 + ], + "pairCounts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 7, + 20, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "TTFD": { + "binEdgesMs": [ + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0 + ], + "pairCounts": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 8, + 15, + 11, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "acceptedPairs": 38, + "includedEarlyPost400Pairs": 0, + "earlyPost400Pairs": 4, + "sharedHistogramAxes": true, + "matplotlibVersion": "3.10.9", + "generatorSHA256": "b765d59d61723c27082f9ce1a4db0d904141b82b945b88d70ba4a9f5fefb09ff", + "selectionGeneratorSHA256": "8b88689d7d9df75ed0c03f09bfc27e5d046078abf56308683bb38ce4d4a35fcc" +} diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/pair-differences.csv b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/pair-differences.csv new file mode 100644 index 0000000..336db72 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/pair-differences.csv @@ -0,0 +1,51 @@ +pair,accepted,exclusionReasons,earlyPostHTTP,ttfaDifferenceMs,ttfdDifferenceMs +1,True,[],not sent,-0.4839897155761719,-6.986856460571289 +2,True,[],not sent,-1.7249584197998047,-7.667064666748047 +3,True,[],not sent,3.859877586364746,6.790041923522949 +4,True,[],not sent,2.8330087661743164,2.2519826889038086 +5,True,[],not sent,9.38403606414795,11.319994926452637 +6,True,[],not sent,6.657958030700684,7.976055145263672 +7,True,[],not sent,0.25200843811035156,0.03695487976074219 +8,True,[],not sent,0.5459785461425781,3.399968147277832 +9,True,[],not sent,21.10004425048828,16.224026679992676 +10,True,[],not sent,-0.8360147476196289,-1.9840002059936523 +11,False,['handshake difference >20 ms'],not sent,7.454991340637207,10.944008827209473 +12,False,['handshake difference >20 ms'],400,241.97900295257568,242.89000034332275 +13,True,[],not sent,-109.48002338409424,-63.38691711425781 +14,True,[],not sent,13.944029808044434,11.252164840698242 +15,True,[],not sent,4.836082458496094,5.234122276306152 +16,True,[],not sent,18.182873725891113,15.481948852539062 +17,True,[],not sent,-1.6189813613891602,-1.0319948196411133 +18,True,[],not sent,7.2479248046875,7.444977760314941 +19,True,[],not sent,8.040070533752441,13.921976089477539 +20,True,[],not sent,-0.44095516204833984,0.5891323089599609 +21,True,[],not sent,5.542993545532227,8.618950843811035 +22,True,[],not sent,4.708051681518555,0.74005126953125 +23,False,['handshake difference >20 ms'],200,7.37309455871582,9.621977806091309 +24,False,['handshake difference >20 ms'],200,6.170988082885742,1.672983169555664 +25,False,['handshake difference >20 ms'],400,90.17598628997803,85.48688888549805 +26,True,[],not sent,13.141989707946777,11.074066162109375 +27,False,['handshake difference >20 ms'],400,-91.18902683258057,-43.1361198425293 +28,True,[],not sent,5.897045135498047,8.980989456176758 +29,True,[],not sent,4.007935523986816,-2.838015556335449 +30,False,['handshake difference >20 ms'],not sent,-235.18705368041992,-229.7450304031372 +31,False,['handshake difference >20 ms'],400,112.7328872680664,110.17191410064697 +32,True,[],not sent,14.60111141204834,19.12999153137207 +33,False,['handshake difference >20 ms'],not sent,157.70196914672852,107.30600357055664 +34,True,[],not sent,2.889871597290039,6.633877754211426 +35,True,[],not sent,-6.179928779602051,-2.998948097229004 +36,True,[],not sent,3.956913948059082,15.018939971923828 +37,True,[],not sent,18.550992012023926,18.2340145111084 +38,False,['handshake difference >20 ms'],not sent,-57.62004852294922,-101.51302814483643 +39,True,[],not sent,1.484990119934082,0.861048698425293 +40,True,[],not sent,-5.360007286071777,-7.887840270996094 +41,True,[],not sent,-12.237906455993652,-13.952970504760742 +42,True,[],not sent,4.53495979309082,-0.20802021026611328 +43,True,[],not sent,-107.69093036651611,-57.83188343048096 +44,True,[],not sent,-77.00896263122559,-27.043938636779785 +45,True,[],not sent,8.283138275146484,8.158087730407715 +46,False,['handshake difference >20 ms'],not sent,-77.71992683410645,-80.70099353790283 +47,True,[],not sent,-22.328972816467285,19.273996353149414 +48,True,[],not sent,7.459044456481934,10.126113891601562 +49,False,['handshake difference >20 ms'],200,-24.30105209350586,-13.17906379699707 +50,True,[],not sent,9.240031242370605,3.8721561431884766 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfa-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfa-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..5b41204ecc707e1b79dfe03614d54fc623183444 GIT binary patch literal 50344 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 + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfd-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfd-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..c905887be2a5bcbd0707caaa9e44b7b3363ce080 GIT binary patch literal 49494 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 literal 0 HcmV?d00001 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfd-on-minus-off.svg b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfd-on-minus-off.svg new file mode 100644 index 0000000..8cc2c9f --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-200ms/histograms/ttfd-on-minus-off.svg @@ -0,0 +1,4293 @@ + + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/histogram-data.json b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/histogram-data.json new file mode 100644 index 0000000..8c8467f --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/histogram-data.json @@ -0,0 +1,1155 @@ +{ + "initialMessageDelayMs": 50, + "pairCount": 50, + "handshakeThresholdMs": 20.0, + "includeEarlyPost400": true, + "difference": "ON minus OFF", + "binWidthMs": 10, + "pairs": [ + { + "pair": 1, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -100.03495216369629, + "ttfdDifferenceMs": -97.15497493743896 + }, + { + "pair": 2, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -243.25692653656006, + "ttfdDifferenceMs": -240.89586734771729 + }, + { + "pair": 3, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -214.37203884124756, + "ttfdDifferenceMs": -195.64199447631836 + }, + { + "pair": 4, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -270.10810375213623, + "ttfdDifferenceMs": -219.51699256896973 + }, + { + "pair": 5, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -118.16704273223877, + "ttfdDifferenceMs": -107.49304294586182 + }, + { + "pair": 6, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 21.057963371276855, + "ttfdDifferenceMs": 31.91399574279785 + }, + { + "pair": 7, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -134.3669891357422, + "ttfdDifferenceMs": -133.41295719146729 + }, + { + "pair": 8, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -66.05899333953857, + "ttfdDifferenceMs": -98.2520580291748 + }, + { + "pair": 9, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -278.1250476837158, + "ttfdDifferenceMs": -252.87103652954102 + }, + { + "pair": 10, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -422.4200248718262, + "ttfdDifferenceMs": -425.44591426849365 + }, + { + "pair": 11, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -119.62199211120605, + "ttfdDifferenceMs": -117.3640489578247 + }, + { + "pair": 12, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -108.85512828826904, + "ttfdDifferenceMs": -108.69300365447998 + }, + { + "pair": 13, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -118.29710006713867, + "ttfdDifferenceMs": -118.55697631835938 + }, + { + "pair": 14, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 483.2669496536255, + "ttfdDifferenceMs": 484.5559597015381 + }, + { + "pair": 15, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -111.55104637145996, + "ttfdDifferenceMs": -110.10110378265381 + }, + { + "pair": 16, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -134.2710256576538, + "ttfdDifferenceMs": -128.1599998474121 + }, + { + "pair": 17, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 69.96703147888184, + "ttfdDifferenceMs": 74.32305812835693 + }, + { + "pair": 18, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -99.79605674743652, + "ttfdDifferenceMs": -94.95997428894043 + }, + { + "pair": 19, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -107.25593566894531, + "ttfdDifferenceMs": -107.28883743286133 + }, + { + "pair": 20, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -264.1409635543823, + "ttfdDifferenceMs": -217.5149917602539 + }, + { + "pair": 21, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -220.16394138336182, + "ttfdDifferenceMs": -167.6110029220581 + }, + { + "pair": 22, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -122.56395816802979, + "ttfdDifferenceMs": -117.94602870941162 + }, + { + "pair": 23, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -115.8210039138794, + "ttfdDifferenceMs": -106.27603530883789 + }, + { + "pair": 24, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -340.09993076324463, + "ttfdDifferenceMs": -301.4949560165405 + }, + { + "pair": 25, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -102.27799415588379, + "ttfdDifferenceMs": -100.04496574401855 + }, + { + "pair": 26, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -124.91905689239502, + "ttfdDifferenceMs": -113.150954246521 + }, + { + "pair": 27, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -117.82705783843994, + "ttfdDifferenceMs": -115.72408676147461 + }, + { + "pair": 28, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -101.64201259613037, + "ttfdDifferenceMs": -99.72894191741943 + }, + { + "pair": 29, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -119.1251277923584, + "ttfdDifferenceMs": -114.63093757629395 + }, + { + "pair": 30, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -115.00692367553711, + "ttfdDifferenceMs": -103.01387310028076 + }, + { + "pair": 31, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -117.91300773620605, + "ttfdDifferenceMs": -121.14500999450684 + }, + { + "pair": 32, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -134.03093814849854, + "ttfdDifferenceMs": -129.54294681549072 + }, + { + "pair": 33, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -254.24695014953613, + "ttfdDifferenceMs": -248.00491333007812 + }, + { + "pair": 34, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -133.9198350906372, + "ttfdDifferenceMs": -130.26189804077148 + }, + { + "pair": 35, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -113.68489265441895, + "ttfdDifferenceMs": -112.21301555633545 + }, + { + "pair": 36, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -735.4429960250854, + "ttfdDifferenceMs": -730.1548719406128 + }, + { + "pair": 37, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 50.114989280700684, + "ttfdDifferenceMs": 55.33301830291748 + }, + { + "pair": 38, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -243.8681125640869, + "ttfdDifferenceMs": -198.8661289215088 + }, + { + "pair": 39, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -121.25003337860107, + "ttfdDifferenceMs": -118.91007423400879 + }, + { + "pair": 40, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -124.37903881072998, + "ttfdDifferenceMs": -119.06802654266357 + }, + { + "pair": 41, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "400", + "ttfaDifferenceMs": 51.96511745452881, + "ttfdDifferenceMs": 227.2270917892456 + }, + { + "pair": 42, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -274.18994903564453, + "ttfdDifferenceMs": -271.8609571456909 + }, + { + "pair": 43, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -120.51403522491455, + "ttfdDifferenceMs": -118.81899833679199 + }, + { + "pair": 44, + "accepted": false, + "exclusionReasons": [ + "handshake difference >20 ms" + ], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": 76.16996765136719, + "ttfdDifferenceMs": 72.69406318664551 + }, + { + "pair": 45, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -131.0349702835083, + "ttfdDifferenceMs": -116.84799194335938 + }, + { + "pair": 46, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -93.97900104522705, + "ttfdDifferenceMs": -91.16804599761963 + }, + { + "pair": 47, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -115.71896076202393, + "ttfdDifferenceMs": -103.70194911956787 + }, + { + "pair": 48, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -119.05503273010254, + "ttfdDifferenceMs": -124.58598613739014 + }, + { + "pair": 49, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -112.56098747253418, + "ttfdDifferenceMs": -114.7679090499878 + }, + { + "pair": 50, + "accepted": true, + "exclusionReasons": [], + "earlyPostHTTP": "200", + "ttfaDifferenceMs": -140.0458812713623, + "ttfdDifferenceMs": -119.62592601776123 + } + ], + "histograms": { + "TTFA": { + "binEdgesMs": [ + -310.0, + -300.0, + -290.0, + -280.0, + -270.0, + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0, + 1430.0, + 1440.0, + 1450.0, + 1460.0 + ], + "pairCounts": [ + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 5, + 5, + 13, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "TTFD": { + "binEdgesMs": [ + -260.0, + -250.0, + -240.0, + -230.0, + -220.0, + -210.0, + -200.0, + -190.0, + -180.0, + -170.0, + -160.0, + -150.0, + -140.0, + -130.0, + -120.0, + -110.0, + -100.0, + -90.0, + -80.0, + -70.0, + -60.0, + -50.0, + -40.0, + -30.0, + -20.0, + -10.0, + 0.0, + 10.0, + 20.0, + 30.0, + 40.0, + 50.0, + 60.0, + 70.0, + 80.0, + 90.0, + 100.0, + 110.0, + 120.0, + 130.0, + 140.0, + 150.0, + 160.0, + 170.0, + 180.0, + 190.0, + 200.0, + 210.0, + 220.0, + 230.0, + 240.0, + 250.0, + 260.0, + 270.0, + 280.0, + 290.0, + 300.0, + 310.0, + 320.0, + 330.0, + 340.0, + 350.0, + 360.0, + 370.0, + 380.0, + 390.0, + 400.0, + 410.0, + 420.0, + 430.0, + 440.0, + 450.0, + 460.0, + 470.0, + 480.0, + 490.0, + 500.0, + 510.0, + 520.0, + 530.0, + 540.0, + 550.0, + 560.0, + 570.0, + 580.0, + 590.0, + 600.0, + 610.0, + 620.0, + 630.0, + 640.0, + 650.0, + 660.0, + 670.0, + 680.0, + 690.0, + 700.0, + 710.0, + 720.0, + 730.0, + 740.0, + 750.0, + 760.0, + 770.0, + 780.0, + 790.0, + 800.0, + 810.0, + 820.0, + 830.0, + 840.0, + 850.0, + 860.0, + 870.0, + 880.0, + 890.0, + 900.0, + 910.0, + 920.0, + 930.0, + 940.0, + 950.0, + 960.0, + 970.0, + 980.0, + 990.0, + 1000.0, + 1010.0, + 1020.0, + 1030.0, + 1040.0, + 1050.0, + 1060.0, + 1070.0, + 1080.0, + 1090.0, + 1100.0, + 1110.0, + 1120.0, + 1130.0, + 1140.0, + 1150.0, + 1160.0, + 1170.0, + 1180.0, + 1190.0, + 1200.0, + 1210.0, + 1220.0, + 1230.0, + 1240.0, + 1250.0, + 1260.0, + 1270.0, + 1280.0, + 1290.0, + 1300.0, + 1310.0, + 1320.0, + 1330.0, + 1340.0, + 1350.0, + 1360.0, + 1370.0, + 1380.0, + 1390.0, + 1400.0, + 1410.0, + 1420.0 + ], + "pairCounts": [ + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 2, + 4, + 14, + 6, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "acceptedPairs": 34, + "includedEarlyPost400Pairs": 0, + "earlyPost400Pairs": 3, + "sharedHistogramAxes": true, + "matplotlibVersion": "3.10.9", + "generatorSHA256": "b765d59d61723c27082f9ce1a4db0d904141b82b945b88d70ba4a9f5fefb09ff", + "selectionGeneratorSHA256": "8b88689d7d9df75ed0c03f09bfc27e5d046078abf56308683bb38ce4d4a35fcc" +} diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/pair-differences.csv b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/pair-differences.csv new file mode 100644 index 0000000..f534190 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/pair-differences.csv @@ -0,0 +1,51 @@ +pair,accepted,exclusionReasons,earlyPostHTTP,ttfaDifferenceMs,ttfdDifferenceMs +1,True,[],200,-100.03495216369629,-97.15497493743896 +2,False,['handshake difference >20 ms'],200,-243.25692653656006,-240.89586734771729 +3,False,['handshake difference >20 ms'],200,-214.37203884124756,-195.64199447631836 +4,True,[],200,-270.10810375213623,-219.51699256896973 +5,True,[],200,-118.16704273223877,-107.49304294586182 +6,False,['handshake difference >20 ms'],200,21.057963371276855,31.91399574279785 +7,True,[],200,-134.3669891357422,-133.41295719146729 +8,False,['handshake difference >20 ms'],200,-66.05899333953857,-98.2520580291748 +9,False,['handshake difference >20 ms'],200,-278.1250476837158,-252.87103652954102 +10,False,['handshake difference >20 ms'],200,-422.4200248718262,-425.44591426849365 +11,True,[],200,-119.62199211120605,-117.3640489578247 +12,True,[],200,-108.85512828826904,-108.69300365447998 +13,True,[],200,-118.29710006713867,-118.55697631835938 +14,False,['handshake difference >20 ms'],400,483.2669496536255,484.5559597015381 +15,True,[],200,-111.55104637145996,-110.10110378265381 +16,True,[],200,-134.2710256576538,-128.1599998474121 +17,False,['handshake difference >20 ms'],200,69.96703147888184,74.32305812835693 +18,True,[],200,-99.79605674743652,-94.95997428894043 +19,True,[],200,-107.25593566894531,-107.28883743286133 +20,True,[],200,-264.1409635543823,-217.5149917602539 +21,True,[],200,-220.16394138336182,-167.6110029220581 +22,True,[],200,-122.56395816802979,-117.94602870941162 +23,True,[],200,-115.8210039138794,-106.27603530883789 +24,False,['handshake difference >20 ms'],200,-340.09993076324463,-301.4949560165405 +25,False,['handshake difference >20 ms'],200,-102.27799415588379,-100.04496574401855 +26,True,[],200,-124.91905689239502,-113.150954246521 +27,True,[],200,-117.82705783843994,-115.72408676147461 +28,True,[],200,-101.64201259613037,-99.72894191741943 +29,True,[],200,-119.1251277923584,-114.63093757629395 +30,True,[],200,-115.00692367553711,-103.01387310028076 +31,True,[],200,-117.91300773620605,-121.14500999450684 +32,True,[],200,-134.03093814849854,-129.54294681549072 +33,False,['handshake difference >20 ms'],200,-254.24695014953613,-248.00491333007812 +34,True,[],200,-133.9198350906372,-130.26189804077148 +35,True,[],200,-113.68489265441895,-112.21301555633545 +36,False,['handshake difference >20 ms'],200,-735.4429960250854,-730.1548719406128 +37,False,['handshake difference >20 ms'],400,50.114989280700684,55.33301830291748 +38,True,[],200,-243.8681125640869,-198.8661289215088 +39,True,[],200,-121.25003337860107,-118.91007423400879 +40,True,[],200,-124.37903881072998,-119.06802654266357 +41,False,['handshake difference >20 ms'],400,51.96511745452881,227.2270917892456 +42,False,['handshake difference >20 ms'],200,-274.18994903564453,-271.8609571456909 +43,True,[],200,-120.51403522491455,-118.81899833679199 +44,False,['handshake difference >20 ms'],200,76.16996765136719,72.69406318664551 +45,True,[],200,-131.0349702835083,-116.84799194335938 +46,True,[],200,-93.97900104522705,-91.16804599761963 +47,True,[],200,-115.71896076202393,-103.70194911956787 +48,True,[],200,-119.05503273010254,-124.58598613739014 +49,True,[],200,-112.56098747253418,-114.7679090499878 +50,True,[],200,-140.0458812713623,-119.62592601776123 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfa-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfa-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..f761cae4f75794bbe378dc23f0660386338ab50b GIT binary patch literal 47195 zcmb5Wby!qy*ET$af}$v*AdO&vlr#*jgo2cS(kLJu!qBb$P-F;E1nH7e5a|X%Vx${s zr5j=B{MP2apXa%s_j~_&Jq`~B*zDPJ?RBknuJb(Cexs(MaP~CqX%q@|_TF9D2Po8u zL==h$MS2o`(q;3V9=@QRZ5R&3lVm zl#|)Q$>|ve&BJ5+-$!uUJDT%cm+#hrvz&T%R|kVaU5-Ki6Wnut8ID2~H{O$#(R7Pl zJUCUM>3kq^SS=$oaN^?mi-MSDgPvi*&I>oUrY5TX(JOuKX*Kmu*VyiZ((=?hz08la zX%Tu>R#v4m7hbV(`!TbL95pT+?6rIGM3&bwOpl7S&rCR!yyiD=tC+Fj$D?!b9_8Rh z7e&C-v29Mh~{)iR|K0t3LcZriHgLe0snlCAg_*l+o*Njnl6uuTyipm#j05 zs(mu`itQ|;o<`hbl@Gc*li=&K`}fB=Is^Gd&-x;l`JT*9lf_1Y_n6O=kEGa>(J1y_%r6u)AA94S zT^hI`*+xg^*~U&@Jm%w>(jLY4R8f*zxM-z4R+Rr>$=+9Kq9ItRe5J}$*Jo!+3D0vs zhI%^o!a`PR@31PBsaVlTJN-!8*n%B>md zmXGs33h~YrEIB&d>&{G%kFMItwom==P?z18%6WNM^k~FwBDi}lJt6+OYJ7!sv*c1i zH`Q*%Dd`=jn-h5iiJX#0`*;DD#a~WysgZ5eJsw8~Tll~0-Ky!Bb_rnykJ%*A5-I|U zCJsU_J=;PpMqhlZ@WPog-ke{)_9cH_xxe7gsoJ$Vd@}lA)O%~h={o_*C#j>IcIT7E zCT_o1^gM=iHd*olI1Y;x&>*z(3@0^Hc<9W#T`}S^ zG{xChB7HvUbGzi8&F-A4Z}jfgN`mChx8n(&dprKlYX{(=Vfw!@vvAh*396( z2T3<#d8$74%Mr`5xRuSN#Z2$8eq$UeV;^ukyTrp=C#jdPyV)E4zcYTQ=cQu8^4@2uuwNxbAymbCZ`1a9-vjR8r5Um15|hgI%B7;AE{8^j$j~1m zH|kF`pOf5XmVj%q?8#7fkH>PCu^HV;I|#(+c(uv;iN0vHuRd^*Y&@J`I>NaY)Vs4v zVqHevXT0p}0)M5C?^FCd#gX;x_P`hsicJ2b0Lr$BLV-R^>C`_&=frOvF^3EZW5|U5C*(|^osY2C%%R9 z`3&h{{W__N!g*#sjS0fGQO^~FmApu8<2MibbcZ+hUrX&@DReQ9cQ-3rZJ@)uRrHU+ zea745Yg1EH{4xoZa5S?!!&CA1_Mmx!x1+n?t0D!=R;2&PBkICmOe}YqsJD$74u6wK zWnijE3mPRa?&%S~{aUpSb7;_NsI;<|D2E-z;(0I3DG}ASE-TZzd-^z>O+RnXN7%DgK=LNpbeGUyNF%?2>KnbS@6$aPgNRw+uN#IC7dhZOt)Jc?j{|d>D~DBuY&=tOaI&=d{Mrbr~Ze`&q z&K%=s_OQ%cC(Ht)I?3K2&`+7)UL?5@?`E9R{^ow2@mrzItrEZPw<#g$&lkUi=%wrB zlW~_YM^2t{!1~ft2ftY?H!kuvm

+_Ru>R_D9Im$XoJ_RzI@&wz0ZR#3zG!nNpR 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 hs{bDydm`qCRfm2>_a}!Pw5xC;Tv%` + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfd-on-minus-off.png b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfd-on-minus-off.png new file mode 100644 index 0000000000000000000000000000000000000000..e91d505bc0882e76c47889a0aafa63df44de82c7 GIT binary patch literal 47791 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 literal 0 HcmV?d00001 diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfd-on-minus-off.svg b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfd-on-minus-off.svg new file mode 100644 index 0000000..2989603 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/delay-50ms/histograms/ttfd-on-minus-off.svg @@ -0,0 +1,4317 @@ + + + + + + + + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/report.md b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/report.md new file mode 100644 index 0000000..eacd53b --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/report.md @@ -0,0 +1,93 @@ +# Lens benchmark — Omnient delay sweep including early POST HTTP 400 pairs + +## Experiment specification + +[Google net_http: Lens Latency Mimic & Shutter Benchmark Mode](https://github.com/google/net_http/blob/main/webchannel/objc/demo/WebChanneliOSDemo/DESIGN.md#d-lens-latency-mimic--shutter-benchmark-mode). + +## Environment + +| Field | Recorded value | +|---|---| +| Device | iPhone SE (3rd generation), hardware model `iPhone14,6` | +| iOS | 26.3.1, from XCTest | +| Network switches | Not independently recorded for this run | +| Endpoint | `https://webchannel.sandbox.google.com/staging/channel/lens` | +| Mac | macOS 26.5.1; Xcode 26.6; Build version 17F113 | +| Source | Git HEAD `21eee148acc4a2bcb9856adc5ba9d7463a33f84d` plus uncommitted benchmark instrumentation | +| Test period | 0 ms: 2026-10-12 14:10–14:17 JST, from artifact timestamps; 50 ms: 2026-10-12 14:17–14:52 JST, from artifact timestamps; 100 ms: 2026-10-12 14:56–15:03 JST, from artifact timestamps; 200 ms: 2026-10-12 15:03–15:27 JST, from artifact timestamps | +| Test execution | 50 alternating OFF/ON pairs per delay; 0, 50, 100, 200 ms in that order; a separate `xcodebuild test-without-building` invocation for each trial | +| Test result | 400/400 completed trials; 400/400 passed fresh-transport verification | +| Transport requirement | First transport: `h2`, a new TCP/TLS connection on the handshake GET/POST or early POST; if the GET reused the early POST connection, matching address and local port | + +## Procedure and parameters + +1. Build the XCTest bundle once, then launch exactly one cold-trial test method per `xcodebuild test-without-building` invocation. Keep parallel testing disabled and retain each `.xcresult` bundle. +2. Run Omnient. Each pair runs `fastHandshake2=false` (OFF), then `fastHandshake2=true` (ON). The XCTest creates a new `WebChannelService` and WebChannel client per trial. +3. Use `imageSizeKb=150`, `detectionDelayMs=50`, `initialMessageDelayMs=0, 50, 100, 200` (separate settings), `enableBinaryEncoding=true`, `sendRawJson=true`, `fastHandshake=false`, `nonBlockingSend=false`, `blockingHandshake=false`, `forceLongPolling=false`, and `detectBufferingProxy=false`. The 150 KB value is metadata; no 150 KB image is uploaded. +4. Schedule M1 Sticky Cluster Info at the configured delay after `connect()` returns. Omnient sends M3 Prefetch immediately after M1. M4 Final Capture follows preliminary detections. Each trial has a 60-second completion deadline. +5. Record Handshake (`webChannelOpened` minus connect), TTFA (M3 send to stream ACK), TTFD (M3 send to preliminary detections), and M4 RTT (M4 send to interaction response). +6. Include a pair in the histograms only if both runs completed, both trials meet the transport requirement, and the absolute ON/OFF handshake-duration difference is ≤20 ms. Calculate that difference from full-precision values. Keep every trial in the raw attachments and audit. + +7. Include pairs whose ON initial early POST returned HTTP 400, including trials completed after retry. The completion, fresh-transport, and 20 ms handshake-difference conditions still apply. An unresolved early POST status remains excluded; a verified absence of an early POST is eligible. No additional measurements were run. +8. Plot paired differences as ON minus OFF, using full-precision measurements. Negative values mean ON was faster. All four delay settings use the same horizontal range and bin edges for each metric. Histograms use 10 ms bins aligned to multiples of 10 ms, pair counts on the vertical axis, and all eligible values without clipping in the main plot. When the full range exceeds 600 ms, an inset magnifies -300 to 300 ms and labels the number of pairs in that range; no additional pairs are excluded. TTFA and TTFD are measured from M3 send, so the configured M1 delay is not added to either metric. + +## Pair inclusion and early POST rejection + +The HTTP 400 rate uses all 50 attempted pairs at each delay as the denominator, including pairs that fail other histogram inclusion conditions. + +| M1 delay (ms) | Measured pairs | ON early POST HTTP 400 | 400 pair rate | No early POST | Unresolved status | Histogram pairs | +|---:|---:|---:|---:|---:|---:|---:| +| 0 | 50 | 29 | 58.0% | 0 | 0 | 35 | +| 50 | 50 | 3 | 6.0% | 0 | 0 | 34 | +| 100 | 50 | 0 | 0.0% | 0 | 0 | 37 | +| 200 | 50 | 4 | 8.0% | 43 | 0 | 38 | + +| M1 delay (ms) | HTTP 400 pairs included in histograms | +|---:|---:| +| 0 | 18 | +| 50 | 0 | +| 100 | 0 | +| 200 | 0 | + +## M1 delay: 0 ms + +### TTFA: ON minus OFF + +![TTFA paired difference histogram, delay 0 ms](delay-0ms/histograms/ttfa-on-minus-off.png) + +### TTFD: ON minus OFF + +![TTFD paired difference histogram, delay 0 ms](delay-0ms/histograms/ttfd-on-minus-off.png) + + +## M1 delay: 50 ms + +### TTFA: ON minus OFF + +![TTFA paired difference histogram, delay 50 ms](delay-50ms/histograms/ttfa-on-minus-off.png) + +### TTFD: ON minus OFF + +![TTFD paired difference histogram, delay 50 ms](delay-50ms/histograms/ttfd-on-minus-off.png) + + +## M1 delay: 100 ms + +### TTFA: ON minus OFF + +![TTFA paired difference histogram, delay 100 ms](delay-100ms/histograms/ttfa-on-minus-off.png) + +### TTFD: ON minus OFF + +![TTFD paired difference histogram, delay 100 ms](delay-100ms/histograms/ttfd-on-minus-off.png) + + +## M1 delay: 200 ms + +### TTFA: ON minus OFF + +![TTFA paired difference histogram, delay 200 ms](delay-200ms/histograms/ttfa-on-minus-off.png) + +### TTFD: ON minus OFF + +![TTFD paired difference histogram, delay 200 ms](delay-200ms/histograms/ttfd-on-minus-off.png) diff --git a/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/run-metadata.json b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/run-metadata.json new file mode 100644 index 0000000..ea1b7d7 --- /dev/null +++ b/webchannel/benchmark/lens/2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/run-metadata.json @@ -0,0 +1,85 @@ +{ + "sourceMeasurementDirectory": "..", + "includeEarlyPost400": true, + "originalMeasurementMetadata": { + "delaysMs": [ + 0, + 50, + 100, + 200 + ], + "pairsPerDelay": 50, + "handshakeThresholdMs": 20.0, + "difference": "ON minus OFF", + "binWidthMs": 10, + "generatorSHA256": "32dcb3ea9ae120ace5547096a1871ace13800c59af06d7afd241fd9b86f4cdb4", + "infrastructureAttempts": [ + "infrastructure-attempts/delay-200ms-pair-30/README.md", + "infrastructure-attempts/delay-50ms-pair-27/README.md", + "infrastructure-attempts/delay-50ms-pair-27-reconnect/README.md" + ], + "runs": { + "0": { + "pairCount": 50, + "scenarios": [ + "omnient" + ], + "reportFormat": "histogram", + "runDate": "2026-10-12", + "testPeriod": "2026-10-12 14:10\u201314:17 JST, from artifact timestamps", + "macOS": "26.5.1", + "xcode": "Xcode 26.6; Build version 17F113", + "sourceGitHead": "21eee148acc4a2bcb9856adc5ba9d7463a33f84d", + "networkSwitches": "Not independently recorded for this run", + "handshakeThresholdMs": 20.0, + "initialMessageDelayMs": 0 + }, + "50": { + "pairCount": 50, + "scenarios": [ + "omnient" + ], + "reportFormat": "histogram", + "runDate": "2026-10-12", + "testPeriod": "2026-10-12 14:17\u201314:52 JST, from artifact timestamps", + "macOS": "26.5.1", + "xcode": "Xcode 26.6; Build version 17F113", + "sourceGitHead": "21eee148acc4a2bcb9856adc5ba9d7463a33f84d", + "networkSwitches": "Not independently recorded for this run", + "handshakeThresholdMs": 20.0, + "initialMessageDelayMs": 50 + }, + "100": { + "pairCount": 50, + "scenarios": [ + "omnient" + ], + "reportFormat": "histogram", + "runDate": "2026-10-12", + "testPeriod": "2026-10-12 14:56\u201315:03 JST, from artifact timestamps", + "macOS": "26.5.1", + "xcode": "Xcode 26.6; Build version 17F113", + "sourceGitHead": "21eee148acc4a2bcb9856adc5ba9d7463a33f84d", + "networkSwitches": "Not independently recorded for this run", + "handshakeThresholdMs": 20.0, + "initialMessageDelayMs": 100 + }, + "200": { + "pairCount": 50, + "scenarios": [ + "omnient" + ], + "reportFormat": "histogram", + "runDate": "2026-10-12", + "testPeriod": "2026-10-12 15:03\u201315:27 JST, from artifact timestamps", + "macOS": "26.5.1", + "xcode": "Xcode 26.6; Build version 17F113", + "sourceGitHead": "21eee148acc4a2bcb9856adc5ba9d7463a33f84d", + "networkSwitches": "Not independently recorded for this run", + "handshakeThresholdMs": 20.0, + "initialMessageDelayMs": 200 + } + } + }, + "generatorSHA256": "b765d59d61723c27082f9ce1a4db0d904141b82b945b88d70ba4a9f5fefb09ff" +} diff --git a/webchannel/benchmark/lens/AGENTS.md b/webchannel/benchmark/lens/AGENTS.md index 5b62ac2..ed0fa5c 100644 --- a/webchannel/benchmark/lens/AGENTS.md +++ b/webchannel/benchmark/lens/AGENTS.md @@ -14,3 +14,4 @@ When changing or generating files under this directory, follow [README.md](READM - Delay-sweep reports replace raw measurement tables with TTFA and TTFD histograms of paired ON-minus-OFF differences, with negative values meaning ON is faster. Exclude pairs with ON initial early POST HTTP 400, unresolved early POST status, or failed ordinary inclusion conditions. A verified absence of an early POST is eligible. Do not replace excluded pairs. Show the 400-pair count/rate over all 50 attempted pairs and histogram sample counts. This user-requested histogram format and 400 rate override the default raw-table and no-summary-statistics rules for this experiment. - Render histograms deterministically from retained evidence, with 10 ms bins and common bin edges across the four delays for each metric. Retain full-precision paired differences, selection decisions, and bin counts in `histograms/`; link them from `artifacts.md`. Do not alter earlier reports when adding a new report mode. - Finish runner edits before starting measurements; do not modify a shell script while it is executing. Resume recorded trials with `LENS_RESUME=1` after an infrastructure interruption. Preserve install/launch failures separately and never rerun completed pairs merely because they fail histogram inclusion. +- When asked for a histogram report including early POST HTTP 400 pairs, use `summarize-delay-sweep.py --include-early-post-400` to add `including-early-post-400/report.md` from the same retained measurements. Keep completion, fresh-transport, handshake-threshold, and unresolved-status rules. Preserve the original report and charts. Retain the inclusive selection decisions and histogram evidence separately, and state how many HTTP 400 pairs satisfy the remaining rules and are included. diff --git a/webchannel/benchmark/lens/README.md b/webchannel/benchmark/lens/README.md index 849f7ce..49e74e8 100644 --- a/webchannel/benchmark/lens/README.md +++ b/webchannel/benchmark/lens/README.md @@ -26,6 +26,8 @@ Instructions for agents editing the runner, summarizer, or reports are in [AGENT The [2026-10-12 Omnient delay-sweep report](2026-10-12_14-09_omnient-delay-sweep_JST/report.md) contains 50 pairs at each of 0, 50, 100, and 200 ms. Its [connection reuse audit](2026-10-12_14-09_omnient-delay-sweep_JST/connection-reuse-audit.md) and [artifacts](2026-10-12_14-09_omnient-delay-sweep_JST/artifacts.md) retain the measurement and infrastructure-interruption evidence. +An [additional report including early POST HTTP 400 pairs](2026-10-12_14-09_omnient-delay-sweep_JST/including-early-post-400/report.md) reuses those measurements and preserves the original report. + ## Omnient initial-message delay sweep The Omnient sweep runs 50 OFF/ON pairs at each of 0, 50, 100, and 200 ms, in that order, with binary encoding enabled and a new process per trial. Build for testing once as above, then run: @@ -37,6 +39,8 @@ MPLCONFIGDIR=/tmp/lens-matplotlib python3 -B webchannel/benchmark/lens/summarize The summarizer requires matplotlib. For a single-delay Omnient histogram report, use `summarize-cold-benchmark.py OUTPUT_DIR 50 --scenarios omnient --report-format histogram --handshake-threshold-ms 20`. The normal raw-table mode remains available. Set `LENS_SCENARIOS=Omnient` to select only Omnient in the cold-trial runner; its default runs both scenarios. +To add an inclusive report from the same sweep, run `summarize-delay-sweep.py OUTPUT_DIR --pairs 50 --handshake-threshold-ms 20 --include-early-post-400`. This writes `including-early-post-400/report.md`, chart PNG/SVG files, paired differences, selection decisions, and bin counts without regenerating the original report. Only the HTTP 400 exclusion is disabled; the other inclusion rules remain in force. The report separately records how many HTTP 400 pairs satisfy those rules and enter the histograms. + The sweep's `report.md` embeds TTFA and TTFD histograms of paired ON-minus-OFF differences, so negative values mean ON is faster. Both trials must complete, have verified fresh HTTP/2 transport, and differ in handshake duration by at most 20 ms. Pairs with an ON initial early POST HTTP 400 or an unresolved status are excluded. A verified absence of an early POST is eligible. Exclusions are not replaced. The report records the 400-pair fraction over all 50 attempted pairs at each delay, unresolved/unsent early POST counts, and histogram sample counts. Each metric uses common 10 ms bin edges across the four delays and retains every eligible value. Each `delay-Nms/` subdirectory retains `logs/`, `xcresults/`, `attachments/`, `connection-reuse-audit.md`, and `artifacts.md`. `histograms/` contains PNG/SVG charts, full-precision paired differences, per-pair selection decisions, and exact bin counts. The top-level artifact and audit documents link the per-delay evidence. Trust/preflight checks and interrupted earlier attempts are excluded from the sweep data. The runner refuses to overwrite trial files and stops on test-launch or attachment-export failures. diff --git a/webchannel/benchmark/lens/summarize-cold-benchmark.py b/webchannel/benchmark/lens/summarize-cold-benchmark.py index 9d6f5b0..d506d34 100644 --- a/webchannel/benchmark/lens/summarize-cold-benchmark.py +++ b/webchannel/benchmark/lens/summarize-cold-benchmark.py @@ -101,6 +101,15 @@ def pair_reasons(off, on, threshold_ms): return reasons +def histogram_pair_reasons(off, on, threshold_ms, post_status, include_early_post_400=False): + reasons = pair_reasons(off, on, threshold_ms) + if has_early_post_400(post_status) and not include_early_post_400: + reasons.append("ON initial early POST HTTP 400") + elif post_status == "unknown": + reasons.append("ON initial early POST status unresolved") + return reasons + + def plot_histogram(values, path, metric, delay_ms, bin_width=10, bounds=None): import matplotlib matplotlib.use("Agg") @@ -321,10 +330,7 @@ def main(): reasons = pair_reasons(off, on, threshold_ms) if report_format == "histogram": post_status = early_post_statuses[scenario, pair, "on"] - if has_early_post_400(post_status): - reasons.append("ON initial early POST HTTP 400") - elif post_status == "unknown": - reasons.append("ON initial early POST status unresolved") + reasons = histogram_pair_reasons(off, on, threshold_ms, post_status) record = {"pair": pair, "accepted": not reasons, "exclusionReasons": reasons, "earlyPostHTTP": post_status, "ttfaDifferenceMs": None, "ttfdDifferenceMs": None} if off and on: diff --git a/webchannel/benchmark/lens/summarize-delay-sweep.py b/webchannel/benchmark/lens/summarize-delay-sweep.py index 51fba3d..e279f16 100644 --- a/webchannel/benchmark/lens/summarize-delay-sweep.py +++ b/webchannel/benchmark/lens/summarize-delay-sweep.py @@ -2,6 +2,7 @@ """Generate an Omnient delay-sweep report from retained cold-trial evidence.""" import argparse +import csv import hashlib import importlib.util import json @@ -11,12 +12,93 @@ from pathlib import Path +def generate_including_400(root, args, summary): + """Add a report variant while preserving the original report and evidence.""" + destination = root / "including-early-post-400" + original_metadata = json.loads((root / "run-metadata.json").read_text()) + if original_metadata["pairsPerDelay"] != args.pairs or original_metadata["handshakeThresholdMs"] != args.handshake_threshold_ms: + raise ValueError("Inclusive report must use the original pair count and handshake threshold") + datasets = {} + for delay in (0, 50, 100, 200): + run = root / f"delay-{delay}ms" + data = {"initialMessageDelayMs": delay, "pairCount": args.pairs, + "handshakeThresholdMs": args.handshake_threshold_ms, "includeEarlyPost400": True, + "difference": "ON minus OFF", "binWidthMs": 10, "pairs": [], "histograms": {}} + for pair in range(1, args.pairs + 1): + off = summary.load_trial(run, "omnient", pair, "off") + on = summary.load_trial(run, "omnient", pair, "on") + for setting, row in (("off", off), ("on", on)): + if row is None: + raise ValueError(f"Missing source trial: {delay} ms, pair {pair}, {setting}") + if row.get("initialMessageDelayMs") != delay or row.get("fastHandshake2") != (setting == "on"): + raise ValueError("Source trial settings do not match the sweep") + status = summary.early_post_status(run, "omnient", pair, "on") + reasons = summary.histogram_pair_reasons(off, on, args.handshake_threshold_ms, status, include_early_post_400=True) + record = {"pair": pair, "accepted": not reasons, "exclusionReasons": reasons, + "earlyPostHTTP": status, "ttfaDifferenceMs": None, "ttfdDifferenceMs": None} + for key, metric in (("ttfaDifferenceMs", "ttfaMs"), ("ttfdDifferenceMs", "ttfdMs")): + if off.get(metric) is not None and on.get(metric) is not None: + record[key] = on[metric] - off[metric] + data["pairs"].append(record) + data["acceptedPairs"] = sum(record["accepted"] for record in data["pairs"]) + data["includedEarlyPost400Pairs"] = sum(record["accepted"] and summary.has_early_post_400(record["earlyPostHTTP"]) for record in data["pairs"]) + data["earlyPost400Pairs"] = sum(summary.has_early_post_400(record["earlyPostHTTP"]) for record in data["pairs"]) + datasets[delay] = data + + for metric, key in (("TTFA", "ttfaDifferenceMs"), ("TTFD", "ttfdDifferenceMs")): + pooled = [record[key] for data in datasets.values() for record in data["pairs"] if record["accepted"]] + bounds = (min(pooled + [0]), max(pooled + [0])) + for delay, data in datasets.items(): + values = [record[key] for record in data["pairs"] if record["accepted"]] + path = destination / f"delay-{delay}ms/histograms/{metric.lower()}-on-minus-off.png" + data["histograms"][metric] = summary.plot_histogram(values, path, metric, delay, bounds=bounds) + + import matplotlib + artifacts = ["# Inclusive histogram artifacts", "", "[Report](report.md) · [Original measurement artifacts](../artifacts.md) · [Connection reuse audit](../connection-reuse-audit.md)", "", + "This report reuses the original measurements and HTTP logs. Only the early POST HTTP 400 exclusion is disabled. The original report and its plots are preserved.", "", + "| M1 delay (ms) | Raw evidence | Selection decisions and bins | Paired differences |", "|---:|---|---|---|"] + for delay, data in datasets.items(): + folder = destination / f"delay-{delay}ms/histograms" + data.update(sharedHistogramAxes=True, matplotlibVersion=matplotlib.__version__, + generatorSHA256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + selectionGeneratorSHA256=hashlib.sha256(Path(summary.__file__).read_bytes()).hexdigest()) + (folder / "histogram-data.json").write_text(json.dumps(data, indent=2) + "\n") + with (folder / "pair-differences.csv").open("w", newline="") as stream: + writer = csv.DictWriter(stream, fieldnames=list(data["pairs"][0])) + writer.writeheader() + writer.writerows(data["pairs"]) + manifest_path = root / f"delay-{delay}ms/histograms/input-manifest.json" + manifest = json.loads(manifest_path.read_text()) + for item in manifest: + source = root / f"delay-{delay}ms" / item["path"] + if hashlib.sha256(source.read_bytes()).hexdigest() != item["sha256"]: + raise ValueError(f"Source evidence changed: {source}") + artifacts.append(f"| {delay} | [Artifacts](../delay-{delay}ms/artifacts.md) · [Input hashes](../delay-{delay}ms/histograms/input-manifest.json) | [JSON](delay-{delay}ms/histograms/histogram-data.json) | [CSV](delay-{delay}ms/histograms/pair-differences.csv) |") + report = (root / "report.md").read_text() + report = report.replace("# Lens benchmark — Omnient initial-message delay sweep", "# Lens benchmark — Omnient delay sweep including early POST HTTP 400 pairs", 1) + report = re.sub(r"^7\. .*", f"7. Include pairs whose ON initial early POST returned HTTP 400, including trials completed after retry. The completion, fresh-transport, and {args.handshake_threshold_ms:g} ms handshake-difference conditions still apply. An unresolved early POST status remains excluded; a verified absence of an early POST is eligible. No additional measurements were run.", report, count=1, flags=re.M) + for delay, data in datasets.items(): + report = re.sub(rf"^(\| {delay} \| .*\| )\d+( \|)$", rf"\g<1>{data['acceptedPairs']}\g<2>", report, count=1, flags=re.M) + marker = "\n## M1 delay: 0 ms" + inclusion = ["", "| M1 delay (ms) | HTTP 400 pairs included in histograms |", "|---:|---:|"] + inclusion.extend(f"| {delay} | {data['includedEarlyPost400Pairs']} |" for delay, data in datasets.items()) + report = report.replace(marker, "\n".join(inclusion) + "\n" + marker, 1) + (destination / "report.md").write_text(report) + (destination / "artifacts.md").write_text("\n".join(artifacts) + "\n") + metadata = {"sourceMeasurementDirectory": "..", "includeEarlyPost400": True, "originalMeasurementMetadata": original_metadata, + "generatorSHA256": hashlib.sha256(Path(__file__).read_bytes()).hexdigest()} + (destination / "run-metadata.json").write_text(json.dumps(metadata, indent=2) + "\n") + for delay, data in datasets.items(): + print(f"{delay} ms: histogram n={data['acceptedPairs']}, including {data['includedEarlyPost400Pairs']} HTTP 400 pairs") + + def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("output_dir", type=Path) parser.add_argument("--pairs", type=int, default=50) parser.add_argument("--handshake-threshold-ms", type=float, default=20) parser.add_argument("--network-switches") + parser.add_argument("--include-early-post-400", action="store_true", help="Add an inclusive report under including-early-post-400/ without regenerating the original") args = parser.parse_args() root = args.output_dir delays = (0, 50, 100, 200) @@ -24,6 +106,9 @@ def main(): spec = importlib.util.spec_from_file_location("cold_summary", summarizer_path) summary = importlib.util.module_from_spec(spec) spec.loader.exec_module(summary) + if args.include_early_post_400: + generate_including_400(root, args, summary) + return datasets = {} metadata = {} for delay in delays: