{
  "metadata": {
    "started_utc": "2026-11-10T21:54:36.030977+00:00",
    "platform": "Linux-7.0.0-1017-azure-x86_64-with-glibc2.39",
    "os": {
      "NAME": "Ubuntu",
      "ID": "ubuntu",
      "PRETTY_NAME": "Ubuntu 24.04.5 LTS",
      "VERSION_ID": "24.04",
      "VERSION": "24.04.5 LTS (Noble Numbat)",
      "VERSION_CODENAME": "noble",
      "ID_LIKE": "debian",
      "HOME_URL": "https://www.ubuntu.com/",
      "SUPPORT_URL": "https://help.ubuntu.com/",
      "BUG_REPORT_URL": "https://bugs.launchpad.net/ubuntu/",
      "PRIVACY_POLICY_URL": "https://www.ubuntu.com/legal/terms-and-policies/privacy-policy",
      "UBUNTU_CODENAME": "noble",
      "LOGO": "ubuntu-logo"
    },
    "node": "v26.13.0",
    "chrome": "Google Chrome for Testing 158.0.8127.18",
    "headless_shell": "Google Chrome for Testing 158.0.8127.18",
    "cpu_count": 4,
    "cpu_model": "AMD EPYC 9V45 96-Core Processor",
    "mem_total_kib": 16367524,
    "runner_image": {
      "ImageOS": "ubuntu24",
      "ImageVersion": "20261101.360.1",
      "RUNNER_ARCH": "X64"
    },
    "session_environment": {
      "display_set": true,
      "session_bus_address_set": false,
      "XDG_CURRENT_DESKTOP": null,
      "GTK_USE_PORTAL": null,
      "GTK_MODULES": null,
      "NO_AT_BRIDGE": null,
      "BRUSTER_USE_SESSION_BUS": null
    },
    "rustc": "rustc 1.99.1 (58cf8f9c3 2026-10-13)",
    "gtk": "3.24.41",
    "webkitgtk": "2.52.6",
    "tools": [
      "bruster",
      "playwright-shell",
      "playwright",
      "puppeteer",
      "agent-browser",
      "stagehand",
      "browse",
      "playwright-mcp",
      "cypress",
      "uivision",
      "rustwright",
      "rustwright-mcp",
      "biloba"
    ],
    "competitors": {
      "source": "https://news.ycombinator.com/item?id=49756671",
      "reviewed": "2026-11-01",
      "scope": "The linked story and its complete public comment tree, including replies, plus user-requested Rustwright, Rustwright MCP and Biloba. Additional stories are recorded separately from comments on the original thread. This is not a search of every Hacker News submission.",
      "tools": [
        {
          "id": "bruster",
          "label": "Bruster / WebKitGTK",
          "github": "https://github.com/aliilyas/bruster",
          "status": "linux",
          "notes": "Native JSONL; system WebKitGTK and Xvfb. Reference implementation."
        },
        {
          "id": "playwright-shell",
          "label": "Playwright / Headless Shell",
          "github": "https://github.com/microsoft/playwright",
          "comments": [
            49756672,
            49767485
          ],
          "package": "playwright-core",
          "status": "linux",
          "notes": "Public Playwright API; separate Headless Shell configuration."
        },
        {
          "id": "playwright",
          "label": "Playwright / full Chrome",
          "github": "https://github.com/microsoft/playwright",
          "comments": [
            49756672,
            49767485
          ],
          "package": "playwright-core",
          "status": "linux",
          "notes": "Public Playwright API."
        },
        {
          "id": "puppeteer",
          "label": "Puppeteer / full Chrome",
          "github": "https://github.com/puppeteer/puppeteer",
          "package": "puppeteer-core",
          "status": "linux",
          "notes": "Existing baseline; not named in the linked HN thread."
        },
        {
          "id": "agent-browser",
          "label": "agent-browser / full Chrome",
          "github": "https://github.com/vercel-labs/agent-browser",
          "comments": [
            49763636,
            49784241
          ],
          "package": "agent-browser",
          "status": "linux",
          "notes": "Native CLI and persistent daemon; per-command CLI overhead included."
        },
        {
          "id": "stagehand",
          "label": "Stagehand / full Chrome",
          "github": "https://github.com/browserbase/stagehand",
          "comments": [
            49756672
          ],
          "package": "@browserbasehq/stagehand",
          "status": "linux",
          "notes": "Local v4 SDK and bundled extension; deterministic Page APIs. No LLM calls, act/extract inference, cloud caching, or token-efficiency claims."
        },
        {
          "id": "browse",
          "label": "browse.sh / full Chrome",
          "github": "https://github.com/browserbase/stagehand/tree/main/packages/cli",
          "comments": [
            49784241
          ],
          "package": "browse",
          "status": "linux",
          "notes": "Local browse CLI, Stagehand extension and persistent daemon; per-command Node CLI overhead included. Same monorepo as Stagehand."
        },
        {
          "id": "playwright-mcp",
          "label": "Playwright MCP / full Chrome",
          "github": "https://github.com/microsoft/playwright-mcp",
          "comments": [
            49756672
          ],
          "package": "@playwright/mcp",
          "adapter_packages": [
            "@modelcontextprotocol/sdk"
          ],
          "status": "linux",
          "notes": "Actual stdio MCP server and tool calls, including default response snapshots and client/server overhead; navigation explicitly waits for load."
        },
        {
          "id": "sleepyhollow",
          "label": "SleepyHollow / Apple WebKit",
          "github": "https://github.com/bensyverson/sleepyhollow",
          "comments": [
            49762455,
            49767052
          ],
          "status": "macos-timing",
          "notes": "Separate same-Mac Bruster/SleepyHollow timing job and artifact. Requires macOS 12+ and WebKit.framework. No Linux/PSS or runtime-footprint estimates; native validation requires the macOS workflow."
        },
        {
          "id": "cypress",
          "label": "Cypress / Chrome test runner",
          "github": "https://github.com/cypress-io/cypress",
          "comments": [
            49766482,
            49773778
          ],
          "package": "cypress",
          "status": "linux",
          "notes": "Real Cypress CLI/spec runner, application iframe, proxy and task IPC; one command per test with test isolation and retries disabled. Runner, bundled Electron runtime and owned Xvfb are counted. Native snapshot is unavailable; shared DOM extraction is measured."
        },
        {
          "id": "uivision",
          "label": "Ui.Vision MCP / browser extension",
          "github": "https://github.com/A9T9/RPA",
          "implementation": "https://github.com/A9T9/RPA/tree/master/mcp",
          "comments": [
            49765724
          ],
          "package": "uivision-mcp-bridge",
          "adapter_packages": [
            "playwright-core",
            "@modelcontextprotocol/sdk"
          ],
          "status": "linux",
          "notes": "Official browser extension and real MCP bridge in an isolated headless Chrome profile with an open panel. Playwright provisions/closes the browser; measured operations use MCP. Macro-log extraction is chunked to respect transport limits; all calls and default response snapshots are counted. Native snapshots can truncate at 60,000 characters; shared extraction is complete."
        },
        {
          "id": "rustwright",
          "label": "Rustwright / full Chrome",
          "github": "https://github.com/Skyvern-AI/rustwright",
          "stories": [
            48923788,
            48932230,
            49319583
          ],
          "package": "rustwright",
          "status": "linux",
          "notes": "User-requested addition, verified against separate HN stories identifying Skyvern-AI/rustwright. Public Node SDK over its in-process Rust CDP engine. The experimental Node API lacks a viewport setter: a CDP connection provisions the viewport at startup and remains idle in memory scope. All workload operations use the SDK. Native snapshot is unavailable in the Node SDK."
        },
        {
          "id": "rustwright-mcp",
          "label": "Rustwright MCP / full Chrome",
          "github": "https://github.com/Skyvern-AI/rustwright",
          "implementation": "https://github.com/Skyvern-AI/rustwright/tree/main/mcp",
          "stories": [
            48923788,
            48932230,
            49319583
          ],
          "package": "rustwright-mcp",
          "adapter_packages": [
            "@modelcontextprotocol/sdk"
          ],
          "status": "linux",
          "notes": "User confirmed that 'Rust MCP' means Rustwright MCP. Canonical native Rust stdio MCP server, launched directly from its official npm binary package. MCP client/server and automatic snapshots are counted; navigation explicitly waits for load. Native snapshots can truncate; shared extraction is complete. Distinct from the deprecated Python server and luka-loehr/browser-rs."
        },
        {
          "id": "biloba",
          "label": "Biloba / full Chrome",
          "github": "https://github.com/onsi/biloba",
          "stories": [
            49699819
          ],
          "package": "biloba",
          "status": "linux",
          "notes": "User-requested addition, verified against its separate Show HN story. Public TypeScript SDK and real bilobad Go daemon over chromedp; a fresh local browser and session per round. Measures serial browser operations, including daemon transport; no Vitest/Ginkgo scheduling or parallel-suite claims. Native accessibility outlines can truncate; shared extraction is complete."
        }
      ],
      "related_mentions": [
        {
          "name": "Jev / TypeSafe",
          "comments": [
            49768496
          ],
          "github": "https://github.com/browserbase/stagehand/pull/2952",
          "notes": "Typed decision model integrated with Stagehand, not a browser runtime. The verified GitHub link is the integration PR; no standalone Jev browser repository was identified. Requires a model-driven accuracy/cost evaluation."
        },
        {
          "name": "Browserbase",
          "comments": [
            49763632,
            49757218
          ],
          "github": "https://github.com/browserbase/sdk-node",
          "notes": "Hosted browser service; this is its client SDK, not the hosted browser source. Cloud/network latency needs a separate comparison."
        },
        {
          "name": "Codex",
          "comments": [
            49756672,
            49757944
          ],
          "github": "https://github.com/openai/codex",
          "notes": "Coding-agent harness using browser tools, not a browser backend."
        },
        {
          "name": "Claude Code",
          "comments": [
            49756672,
            49757944
          ],
          "github": "https://github.com/anthropics/claude-code",
          "notes": "Coding-agent product repository, not an open-source browser backend."
        },
        {
          "name": "Deep Agents",
          "comments": [
            49757944,
            49757129
          ],
          "github": "https://github.com/langchain-ai/deepagents",
          "notes": "Agent harness; browser tools and model must be specified for an end-to-end task evaluation."
        },
        {
          "name": "Mastra",
          "comments": [
            49757944
          ],
          "github": "https://github.com/mastra-ai/mastra",
          "notes": "Agent framework, not a browser runtime."
        },
        {
          "name": "Eve",
          "comments": [
            49757944,
            49757129
          ],
          "github": "https://github.com/vercel/eve",
          "notes": "Vercel agent framework, identified through Stagehand's Eve integration and the eve npm package repository. Uses a browser integration rather than implementing a browser."
        },
        {
          "name": "Fx",
          "comments": [
            49757129
          ],
          "github": "https://github.com/vercel-labs/fx",
          "notes": "Coding agent, identified through Stagehand's fx integration and fx.sh's repository link. Uses the Stagehand MCP integration for browser tasks."
        },
        {
          "name": "Astra computer use",
          "comments": [
            49756970,
            49757217
          ],
          "github": null,
          "notes": "Computer-use/model alternative, with no repository linked in the thread. No authoritative standalone browser repository identified; unrelated projects with the same name are not substituted. Requires a specified model and computer-use environment."
        }
      ]
    },
    "competitors_sha256": "a7ea594c9373720b11a51e597df3e96755af781d64be84256edbe9aa1eca91cc",
    "packages": {
      "@browserbasehq/stagehand": "4.4.0",
      "@modelcontextprotocol/sdk": "1.32.2",
      "@playwright/mcp": "0.0.85",
      "agent-browser": "0.42.0",
      "biloba": "0.23.0",
      "browse": "0.11.3",
      "cypress": "16.3.0",
      "playwright-core": "1.65.0",
      "puppeteer-core": "25.17.0",
      "rustwright": "0.3.0",
      "rustwright-mcp": "0.1.0",
      "uivision-mcp-bridge": "1.7.20"
    },
    "bruster_bytes": 2010032,
    "bruster_sha256": "13b16fdf27fe7634ed2f5598ec1d0e37596e42e8cb157c2e6aa3fd22955e1042",
    "chrome_sha256": "76bcde21a2f8c9d4fbbf42afbeab011817d000552d093e5f5e89c9b8808f4231",
    "headless_shell_sha256": "41ff61e6e65b8d16b40631f4f094b46ec02f1a0f5375ae477c1d478f1fc2d89d",
    "rounds": 10,
    "iterations": 10,
    "common_extraction_js": "(() => ({\n  title: document.title,\n  elements: Array.from(document.querySelectorAll('h1,h2,h3,p,li,a,input,button,select,textarea'))\n    .filter(e => { const r = e.getBoundingClientRect(); return r.width > 0 && r.height > 0; })\n    .map(e => ({tag: e.tagName.toLowerCase(),\n      name: (e.getAttribute('aria-label') || e.getAttribute('placeholder') || e.textContent || '').trim(),\n      href: e.getAttribute('href'), value: 'value' in e ? e.value : null}))\n}))()",
    "harness_sha256": {
      "bench_compare.py": "20029f2fb633966567e1fc609bf4639d06303dee8062ad95725ca0c514b541f9",
      "bench_competitor_driver.mjs": "091a04fe34ced734f2ba96c013ef2a373b668fe83e2a8e410496dcdcc062d9ca",
      "bench_mcp_driver.mjs": "d970d5f6d40e9055c36c7cbdd8572e17992f9bd245a3ec89d5c57de417f68f48",
      "bench_cypress_driver.mjs": "c7a795bf4149a7275f13ea7cce10e37439ccc7c6ca7b97480b2e631321498c22",
      "bench_cypress.config.cjs": "a0442f2fa87bd3f83ea2ef975e0bb6529edda9c735f8a45c25dfbd3473896c25",
      "bench_cypress.cy.js": "833b3469ecab1bbd443a81c4902899abd0ab1fb8ab58df055d992e1420169bd8",
      "bench_uivision_driver.mjs": "ed9bc9cdc608532af98994e0276b740c8944d72053c1a7c2355257bacc69195a",
      "bench_install_uivision.py": "b44f264df9b9ad32e19276105d6d50533cc2943bb235bdb820ee03db30e10741",
      "bench_rustwright_mcp_driver.mjs": "f78b48216164af7ddca8bad23a0588ad7cecf3a255113add843f425c93451d99",
      "bench_footprint.py": "f6a70626b3cc160bd115e9a22d5677a990cfb45e48f32918259cd591b3b32ac4",
      "bench_tools.py": "4dfe872c7dc61eac092c1a7a402c322a0f4e3a3fc9404faff48658a3fea7ac91",
      "bench_audit.py": "df91d7a203077227c82fc6730033498ea20badaf519c6dd8f6bf10b1c6ae006c"
    },
    "package_lock_sha256": "dae5e4a15cf425863be7cc1b162ea704320e89ba99882e40d5360e946b8178c7",
    "args": {
      "bruster": "/home/runner/work/bruster/bruster/target/release/bruster",
      "node": "/opt/hostedtoolcache/node/26.13.0/x64/bin/node",
      "chrome": "/home/runner/work/_temp/benchmark-browsers/chromium-1254/chrome-linux64/chrome",
      "shell": "/home/runner/work/_temp/benchmark-browsers/chromium_headless_shell-1254/chrome-headless-shell-linux64/chrome-headless-shell",
      "deps": "/home/runner/work/_temp/benchmark-deps",
      "output": "/home/runner/work/_temp/benchmark-results",
      "rounds": 10,
      "iterations": 10,
      "tools": [
        "bruster",
        "playwright-shell",
        "playwright",
        "puppeteer",
        "agent-browser",
        "stagehand",
        "browse",
        "playwright-mcp",
        "cypress",
        "uivision",
        "rustwright",
        "rustwright-mcp",
        "biloba"
      ]
    },
    "uivision_extension": {
      "extension_id": "gcbalfbdmfieckjlnblleoemohcganoc",
      "version": "10.0.305",
      "source": "https://clients2.google.com/service/update2/crx?response=redirect&prodversion=158.0.8127.18&acceptformat=crx3&x=id%3Dgcbalfbdmfieckjlnblleoemohcganoc%26uc",
      "resolved_url": "https://clients2.googleusercontent.com/crx/blobs/ARGaeZK-C4RaWn7VtRTVx1_lum8D0NXWg9XXG8EO6kSqXockArpAWI84dAAc8SO5UVAVom2MsahblTkVat4B83R3UfySugRNH6fIFim53QqRoz5aReyeWMcbPnu50OMYoO2sAMZSmuWWLy93G3tY7ObpiljLZ5n9oIDSRA/GCBALFBDMFIECKJLNBLLEOEMOHCGANOC_10_0_305_0.crx",
      "crx_sha256": "f168313dd905b33dabaae36c44967aadeb5672b80d5025ac88c6311b90da4447",
      "setup_change": "Public CRX key added to manifest to retain the official ID when unpacked",
      "manifest_sha256": "66c5653607411a181586884a415cb9bd7dc09cdee97c623ff829fbc04ee62edd"
    },
    "native_artifacts": {
      "rustwright": {
        "path": "node_modules/rustwright/rustwright.linux-x64-gnu.node",
        "bytes": 5585072,
        "sha256": "26ea8439f6f168fa7e1a68eee970705e1583eda9debf011b8f58bc1c16538131"
      },
      "rustwright-mcp": {
        "path": "node_modules/@skyvernai/rustwright-mcp-linux-x64-gnu/bin/rustwright-mcp",
        "bytes": 10090120,
        "sha256": "552f458fe2655807c624f560df6c9643c02a61dda21c00e179c44581af31676d"
      },
      "biloba": {
        "path": "node_modules/biloba-linux-x64/bin/bilobad",
        "bytes": 10432674,
        "sha256": "31ac33d42fe019d0fd8c8eae9a9b44876d1b77870c991ca1fc5aec956f6daeaf"
      }
    },
    "finished_utc": "2026-11-10T22:19:07.758956+00:00"
  },
  "summary": {
    "bruster": {
      "startup_ms": {
        "n": 10,
        "median": 72.4643615,
        "min": 68.694418,
        "max": 330.057316
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 82.540911,
        "min": 74.434584,
        "max": 221.985247
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 154.79420399999998,
        "min": 146.986282,
        "max": 552.336677
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 5.048461,
        "min": 3.505916,
        "max": 9.244569
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 4.415412999999999,
        "min": 0.627906,
        "max": 5.77392
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 28.5401575,
        "min": 19.687944,
        "max": 51.470363
      },
      "large_extract_ms": {
        "n": 50,
        "median": 9.6941025,
        "min": 3.070097,
        "max": 20.173002
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 8.09108,
        "min": 3.35704,
        "max": 16.240962
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 112.7739175,
        "min": 108.650474,
        "max": 121.028729
      },
      "screenshot_ms": {
        "n": 20,
        "median": 12.388148000000001,
        "min": 11.568706,
        "max": 13.019308
      },
      "rss_mib": {
        "n": 10,
        "median": 345.6171875,
        "min": 336.1484375,
        "max": 349.046875
      },
      "pss_mib": {
        "n": 10,
        "median": 184.10107421875,
        "min": 182.7705078125,
        "max": 185.8056640625
      },
      "display_pss_mib": {
        "n": 10,
        "median": 37.44677734375,
        "min": 34.546875,
        "max": 39.3779296875
      },
      "total_pss_mib": {
        "n": 10,
        "median": 221.7275390625,
        "min": 218.203125,
        "max": 224.5712890625
      },
      "process_count": {
        "n": 10,
        "median": 3.0,
        "min": 3,
        "max": 3
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 2.6849365,
        "min": 2.359369,
        "max": 2.843849
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 343.0,
        "min": 343,
        "max": 344
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 11.359206499999999,
        "min": 10.856672,
        "max": 13.303697
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 139675.0,
        "min": 139675,
        "max": 139676
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "playwright-shell": {
      "startup_ms": {
        "n": 10,
        "median": 359.341637,
        "min": 346.175026,
        "max": 372.611147
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 15.083655,
        "min": 12.018138,
        "max": 17.624028
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 376.0448175,
        "min": 359.787752,
        "max": 388.20357
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 7.2207989999999995,
        "min": 5.664549,
        "max": 14.917827
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 2.2087735000000004,
        "min": 1.709293,
        "max": 5.055295
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 30.795993,
        "min": 16.003299,
        "max": 46.824918
      },
      "large_extract_ms": {
        "n": 50,
        "median": 61.4769795,
        "min": 42.830531,
        "max": 127.953285
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 18.4589535,
        "min": 5.568875,
        "max": 36.101533
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 113.8590035,
        "min": 112.085461,
        "max": 137.60749
      },
      "screenshot_ms": {
        "n": 20,
        "median": 31.3518915,
        "min": 27.02882,
        "max": 40.172926
      },
      "rss_mib": {
        "n": 10,
        "median": 587.8203125,
        "min": 579.46875,
        "max": 591.48828125
      },
      "pss_mib": {
        "n": 10,
        "median": 310.84375,
        "min": 308.5927734375,
        "max": 311.5009765625
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 310.84375,
        "min": 308.5927734375,
        "max": 311.5009765625
      },
      "process_count": {
        "n": 10,
        "median": 7.0,
        "min": 7,
        "max": 7
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 20.631310499999998,
        "min": 20.135404,
        "max": 22.556337
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 150.0,
        "min": 150,
        "max": 150
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 69.4967255,
        "min": 64.923937,
        "max": 74.91995
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 67690.0,
        "min": 67690,
        "max": 67690
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 10,
      "failures": [
        {
          "round": 1,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 2,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 3,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 4,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 5,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 6,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 7,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 8,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 9,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 10,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        }
      ]
    },
    "playwright": {
      "startup_ms": {
        "n": 10,
        "median": 477.524564,
        "min": 460.89704,
        "max": 798.271474
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 25.682869,
        "min": 21.262968,
        "max": 40.63955
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 506.8808305,
        "min": 484.698367,
        "max": 819.884736
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 13.0690115,
        "min": 8.406776,
        "max": 31.408061
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 3.904131,
        "min": 2.376677,
        "max": 10.051221
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 36.2606155,
        "min": 19.985387,
        "max": 43.908757
      },
      "large_extract_ms": {
        "n": 50,
        "median": 64.2470395,
        "min": 44.577249,
        "max": 135.684899
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 18.491912,
        "min": 5.358525,
        "max": 29.916159
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 117.31778700000001,
        "min": 114.564174,
        "max": 144.519643
      },
      "screenshot_ms": {
        "n": 20,
        "median": 37.900851,
        "min": 25.747337,
        "max": 53.418071
      },
      "rss_mib": {
        "n": 10,
        "median": 1137.203125,
        "min": 1126.6796875,
        "max": 1142.19140625
      },
      "pss_mib": {
        "n": 10,
        "median": 473.89794921875,
        "min": 472.03515625,
        "max": 476.1982421875
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 473.89794921875,
        "min": 472.03515625,
        "max": 476.1982421875
      },
      "process_count": {
        "n": 10,
        "median": 12.0,
        "min": 12,
        "max": 12
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 20.654335000000003,
        "min": 19.888712,
        "max": 22.383823
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 150.0,
        "min": 150,
        "max": 150
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 72.271867,
        "min": 66.437269,
        "max": 75.700441
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 67690.0,
        "min": 67690,
        "max": 67690
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 10,
      "failures": [
        {
          "round": 1,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 2,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 3,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 4,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 5,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 6,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 7,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 8,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 9,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        },
        {
          "round": 10,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: page.goto: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"load\"\n\n    at /home/runner/work/bruster/bruster/scripts/bench_competitor_driver.mjs:141:37"
        }
      ]
    },
    "puppeteer": {
      "startup_ms": {
        "n": 10,
        "median": 373.1651445,
        "min": 353.282493,
        "max": 384.231382
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 23.313370499999998,
        "min": 21.20275,
        "max": 104.695775
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 399.8467345,
        "min": 379.315112,
        "max": 459.337369
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 12.298592,
        "min": 9.594965,
        "max": 24.00178
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 2.172085,
        "min": 0.990234,
        "max": 5.176558
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 26.3881045,
        "min": 24.049837,
        "max": 33.22729
      },
      "large_extract_ms": {
        "n": 50,
        "median": 17.707902,
        "min": 11.399648,
        "max": 61.645097
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 12.2502455,
        "min": 4.881919,
        "max": 24.115411
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 118.7349055,
        "min": 115.735226,
        "max": 126.733818
      },
      "screenshot_ms": {
        "n": 20,
        "median": 55.362159500000004,
        "min": 39.512802,
        "max": 77.757545
      },
      "rss_mib": {
        "n": 10,
        "median": 1062.908203125,
        "min": 1050.90625,
        "max": 1070.46875
      },
      "pss_mib": {
        "n": 10,
        "median": 417.6103515625,
        "min": 416.33203125,
        "max": 419.923828125
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 417.6103515625,
        "min": 416.33203125,
        "max": 419.923828125
      },
      "process_count": {
        "n": 10,
        "median": 12.0,
        "min": 12,
        "max": 12
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 3.163563,
        "min": 3.068419,
        "max": 3.278547
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 722.0,
        "min": 722,
        "max": 723
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 166.346385,
        "min": 155.400478,
        "max": 197.14103
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 417761.0,
        "min": 417761,
        "max": 417762
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "agent-browser": {
      "startup_ms": {
        "n": 10,
        "median": 881.980355,
        "min": 767.865235,
        "max": 976.979238
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 23.726832,
        "min": 20.402536,
        "max": 37.454377
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 911.058156,
        "min": 797.178544,
        "max": 1000.859137
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 16.285154,
        "min": 14.151075,
        "max": 28.129598
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 2.7151965000000002,
        "min": 2.405958,
        "max": 5.293473
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 49.956391499999995,
        "min": 44.198723,
        "max": 66.716968
      },
      "large_extract_ms": {
        "n": 50,
        "median": 21.3078615,
        "min": 17.620926,
        "max": 28.873293
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 8.416571,
        "min": 7.16802,
        "max": 21.706246
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 122.37073,
        "min": 118.164614,
        "max": 128.910071
      },
      "screenshot_ms": {
        "n": 20,
        "median": 48.9101055,
        "min": 36.786411,
        "max": 65.990957
      },
      "rss_mib": {
        "n": 10,
        "median": 1563.171875,
        "min": 1541.421875,
        "max": 1660.73046875
      },
      "pss_mib": {
        "n": 10,
        "median": 487.6162109375,
        "min": 483.5244140625,
        "max": 494.2978515625
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 487.6162109375,
        "min": 483.5244140625,
        "max": 494.2978515625
      },
      "process_count": {
        "n": 10,
        "median": 16.0,
        "min": 16,
        "max": 17
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 5.3334995,
        "min": 5.108149,
        "max": 5.510743
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 771.0,
        "min": 771,
        "max": 772
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 216.51303000000001,
        "min": 201.293656,
        "max": 237.164176
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 170755.0,
        "min": 170755,
        "max": 170756
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "stagehand": {
      "startup_ms": {
        "n": 10,
        "median": 771.6633895,
        "min": 736.373823,
        "max": 1052.567778
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 42.540805000000006,
        "min": 39.4589,
        "max": 54.085432
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 815.023385,
        "min": 776.134112,
        "max": 1094.784401
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 18.3307255,
        "min": 14.43647,
        "max": 35.544971
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 3.017036,
        "min": 2.349093,
        "max": 8.104447
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 55.227413,
        "min": 37.252911,
        "max": 77.84036
      },
      "large_extract_ms": {
        "n": 50,
        "median": 33.969291,
        "min": 29.361646,
        "max": 68.489569
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 12.412923,
        "min": 10.570426,
        "max": 31.50801
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 126.0364235,
        "min": 122.379857,
        "max": 153.645089
      },
      "screenshot_ms": {
        "n": 20,
        "median": 68.04399950000001,
        "min": 59.38302,
        "max": 88.760945
      },
      "rss_mib": {
        "n": 10,
        "median": 1520.220703125,
        "min": 1419.0234375,
        "max": 1548.59375
      },
      "pss_mib": {
        "n": 10,
        "median": 545.5908203125,
        "min": 539.693359375,
        "max": 548.203125
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 545.5908203125,
        "min": 539.693359375,
        "max": 548.203125
      },
      "process_count": {
        "n": 10,
        "median": 15.0,
        "min": 14,
        "max": 15
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 10.5831465,
        "min": 10.24566,
        "max": 11.470742
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 1192.0,
        "min": 1192,
        "max": 1193
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 235.793251,
        "min": 222.534961,
        "max": 276.792368
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 420417.0,
        "min": 420417,
        "max": 420418
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "browse": {
      "startup_ms": {
        "n": 10,
        "median": 1433.1582425,
        "min": 1387.806933,
        "max": 1820.37956
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 285.0125445,
        "min": 272.234425,
        "max": 327.296334
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 1722.375396,
        "min": 1660.097793,
        "max": 2104.76517
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 283.1902785,
        "min": 250.685648,
        "max": 338.784236
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 262.01018250000004,
        "min": 229.659411,
        "max": 333.629775
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 315.913958,
        "min": 285.774369,
        "max": 389.715758
      },
      "large_extract_ms": {
        "n": 50,
        "median": 292.7835915,
        "min": 272.044258,
        "max": 340.779606
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 262.5812945,
        "min": 246.150965,
        "max": 871.842278
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 391.3199555,
        "min": 370.003434,
        "max": 465.912253
      },
      "screenshot_ms": {
        "n": 20,
        "median": 321.7025395,
        "min": 279.631448,
        "max": 376.718483
      },
      "rss_mib": {
        "n": 10,
        "median": 1547.4140625,
        "min": 1535.20703125,
        "max": 1554.04296875
      },
      "pss_mib": {
        "n": 10,
        "median": 663.27490234375,
        "min": 660.0771484375,
        "max": 665.0869140625
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 663.27490234375,
        "min": 660.0771484375,
        "max": 665.0869140625
      },
      "process_count": {
        "n": 10,
        "median": 14.0,
        "min": 14,
        "max": 14
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 260.99375799999996,
        "min": 232.56438,
        "max": 281.472319
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 1288.0,
        "min": 1288,
        "max": 1289
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 482.8866435,
        "min": 464.021214,
        "max": 508.942666
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 462447.0,
        "min": 462447,
        "max": 462448
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 10,
      "failures": [
        {
          "round": 1,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 2,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 3,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 4,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 5,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 6,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 7,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 8,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 9,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        },
        {
          "round": 10,
          "name": "connection_refused",
          "pass": false,
          "error": "unexpected success"
        }
      ]
    },
    "playwright-mcp": {
      "startup_ms": {
        "n": 10,
        "median": 1198.200523,
        "min": 1166.072905,
        "max": 1442.590087
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 536.5470295,
        "min": 534.406713,
        "max": 538.392573
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 1735.6033475,
        "min": 1702.510858,
        "max": 1978.95353
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 535.170618,
        "min": 530.96498,
        "max": 555.843045
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 504.313621,
        "min": 503.091397,
        "max": 512.806591
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 648.881112,
        "min": 636.272484,
        "max": 680.043675
      },
      "large_extract_ms": {
        "n": 50,
        "median": 563.1437080000001,
        "min": 551.457882,
        "max": 618.412258
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 510.658409,
        "min": 508.703239,
        "max": 525.815368
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 638.952299,
        "min": 636.042017,
        "max": 656.663045
      },
      "screenshot_ms": {
        "n": 20,
        "median": 30.088631499999998,
        "min": 25.133432,
        "max": 38.319089
      },
      "rss_mib": {
        "n": 10,
        "median": 1251.48828125,
        "min": 1232.88671875,
        "max": 1259.43359375
      },
      "pss_mib": {
        "n": 10,
        "median": 543.60009765625,
        "min": 541.1142578125,
        "max": 545.228515625
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 543.60009765625,
        "min": 541.1142578125,
        "max": 545.228515625
      },
      "process_count": {
        "n": 10,
        "median": 13.0,
        "min": 13,
        "max": 13
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 5.613630000000001,
        "min": 5.196164,
        "max": 5.998833
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 399.0,
        "min": 399,
        "max": 400
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 77.757017,
        "min": 70.353237,
        "max": 81.819929
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 154752.0,
        "min": 154752,
        "max": 154753
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 2000.0,
        "min": 2000,
        "max": 2000
      },
      "sessions_with_failures": 10,
      "failures": [
        {
          "round": 1,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 2,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 3,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 4,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 5,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 6,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 7,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 8,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 9,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        },
        {
          "round": 10,
          "name": "recovery_after_navigation_error",
          "pass": false,
          "error": "navigate: Error: ### Error\nError: browserBackend.callTool: Navigation to \"http://127.0.0.1:46131/tiny?recovery=1\" is interrupted by another navigation to \"chrome-error://chromewebdata/\"\nCall log:\n  - navigating to \"http://127.0.0.1:46131/tiny?recovery=1\", waiting until \"domcontentloaded\"\n\n    at call (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:39:31)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async navigate (file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:51:3)\n    at async file:///home/runner/work/bruster/bruster/scripts/bench_mcp_driver.mjs:75:35"
        }
      ]
    },
    "cypress": {
      "startup_ms": {
        "n": 10,
        "median": 2963.951365,
        "min": 2891.846704,
        "max": 12352.32067
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 110.2982575,
        "min": 103.278275,
        "max": 137.489377
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 3074.7295274999997,
        "min": 3001.966565,
        "max": 12463.915546
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 43.3325545,
        "min": 33.820875,
        "max": 69.68476
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 23.731272,
        "min": 14.041384,
        "max": 46.339079
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 64.863941,
        "min": 50.897048,
        "max": 112.283552
      },
      "large_extract_ms": {
        "n": 50,
        "median": 45.598502499999995,
        "min": 39.312796,
        "max": 82.735211
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 36.68839,
        "min": 31.587524,
        "max": 75.902622
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 159.9642045,
        "min": 153.640361,
        "max": 179.102211
      },
      "screenshot_ms": {
        "n": 20,
        "median": 240.0953275,
        "min": 183.25813,
        "max": 282.994369
      },
      "rss_mib": {
        "n": 10,
        "median": 2269.529296875,
        "min": 2255.984375,
        "max": 2286.19140625
      },
      "pss_mib": {
        "n": 10,
        "median": 1264.02001953125,
        "min": 1249.0947265625,
        "max": 1278.931640625
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 1264.02001953125,
        "min": 1249.0947265625,
        "max": 1278.931640625
      },
      "process_count": {
        "n": 10,
        "median": 19.0,
        "min": 19,
        "max": 19
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "uivision": {
      "startup_ms": {
        "n": 10,
        "median": 2312.6451285000003,
        "min": 2233.608172,
        "max": 2611.107594
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 2193.7915405000003,
        "min": 2158.248682,
        "max": 2949.093666
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 4531.612225,
        "min": 4425.686589,
        "max": 5222.696482
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 797.963223,
        "min": 775.02918,
        "max": 964.98551
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 112.6066215,
        "min": 102.049723,
        "max": 147.942089
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 814.9605085000001,
        "min": 784.497605,
        "max": 847.82502
      },
      "large_extract_ms": {
        "n": 50,
        "median": 1584.4800135,
        "min": 1379.876954,
        "max": 1732.157713
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 2046.9197570000001,
        "min": 1807.587598,
        "max": 2245.848117
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 825.4522775,
        "min": 810.795735,
        "max": 975.907063
      },
      "screenshot_ms": {
        "n": 20,
        "median": 1366.3048199999998,
        "min": 1316.526605,
        "max": 1411.882422
      },
      "rss_mib": {
        "n": 10,
        "median": 1858.166015625,
        "min": 1763.51171875,
        "max": 1873.72265625
      },
      "pss_mib": {
        "n": 10,
        "median": 758.3134765625,
        "min": 738.078125,
        "max": 761.345703125
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 758.3134765625,
        "min": 738.078125,
        "max": 761.345703125
      },
      "process_count": {
        "n": 10,
        "median": 16.0,
        "min": 15,
        "max": 16
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 13.050176,
        "min": 11.849744,
        "max": 18.141889
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 588.0,
        "min": 588,
        "max": 589
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 34.9349545,
        "min": 28.798804,
        "max": 55.473014
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 65639.0,
        "min": 65639,
        "max": 65639
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 1107.0,
        "min": 1107,
        "max": 1107
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "rustwright": {
      "startup_ms": {
        "n": 10,
        "median": 463.4663925,
        "min": 423.969248,
        "max": 487.794006
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 38.4910495,
        "min": 31.73624,
        "max": 53.242691
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 498.9916095,
        "min": 478.048176,
        "max": 526.564344
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 20.678331999999997,
        "min": 14.349202,
        "max": 304.323579
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 1.259835,
        "min": 0.926943,
        "max": 6.393226
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 38.9917565,
        "min": 36.014617,
        "max": 61.985803
      },
      "large_extract_ms": {
        "n": 50,
        "median": 26.433288,
        "min": 23.463493,
        "max": 53.304233
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 6.1029125,
        "min": 5.507531,
        "max": 12.690873
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 118.85911300000001,
        "min": 117.092495,
        "max": 124.405171
      },
      "screenshot_ms": {
        "n": 20,
        "median": 19.3655325,
        "min": 12.286785,
        "max": 35.287533
      },
      "rss_mib": {
        "n": 10,
        "median": 1536.560546875,
        "min": 1518.921875,
        "max": 1549.8515625
      },
      "pss_mib": {
        "n": 10,
        "median": 496.865234375,
        "min": 495.5625,
        "max": 499.4638671875
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 496.865234375,
        "min": 495.5625,
        "max": 499.4638671875
      },
      "process_count": {
        "n": 10,
        "median": 16.0,
        "min": 16,
        "max": 16
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "rustwright-mcp": {
      "startup_ms": {
        "n": 10,
        "median": 467.91711,
        "min": 414.311678,
        "max": 831.426258
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 59.545014,
        "min": 52.6222,
        "max": 78.422327
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 523.198696,
        "min": 493.010582,
        "max": 894.037018
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 20.961676,
        "min": 14.815825,
        "max": 42.654187
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 2.2838795,
        "min": 1.804001,
        "max": 7.822407
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 62.9089295,
        "min": 58.799185,
        "max": 88.125033
      },
      "large_extract_ms": {
        "n": 50,
        "median": 46.156324999999995,
        "min": 41.807118,
        "max": 82.444499
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 19.845346,
        "min": 17.387155,
        "max": 36.779174
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 123.160477,
        "min": 119.239582,
        "max": 129.753596
      },
      "screenshot_ms": {
        "n": 20,
        "median": 24.167605000000002,
        "min": 12.318864,
        "max": 34.243201
      },
      "rss_mib": {
        "n": 10,
        "median": 1452.837890625,
        "min": 1435.4921875,
        "max": 1467.1953125
      },
      "pss_mib": {
        "n": 10,
        "median": 501.9326171875,
        "min": 500.1943359375,
        "max": 504.0458984375
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 501.9326171875,
        "min": 500.1943359375,
        "max": 504.0458984375
      },
      "process_count": {
        "n": 10,
        "median": 16.0,
        "min": 16,
        "max": 16
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 2.301933,
        "min": 2.217022,
        "max": 2.388388
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 169.0,
        "min": 169,
        "max": 169
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 12.331492,
        "min": 11.642165,
        "max": 13.390944
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 53118.0,
        "min": 53118,
        "max": 53118
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 1200.0,
        "min": 1200,
        "max": 1200
      },
      "sessions_with_failures": 0,
      "failures": []
    },
    "biloba": {
      "startup_ms": {
        "n": 10,
        "median": 484.6057745,
        "min": 447.421828,
        "max": 796.920884
      },
      "first_navigation_ms": {
        "n": 10,
        "median": 57.9339155,
        "min": 36.330486,
        "max": 76.902089
      },
      "launch_to_first_page_ms": {
        "n": 10,
        "median": 538.1626905,
        "min": 515.421689,
        "max": 840.16985
      },
      "tiny_navigation_ms": {
        "n": 100,
        "median": 20.793472,
        "min": 14.64047,
        "max": 38.391312
      },
      "tiny_extract_ms": {
        "n": 100,
        "median": 1.3283814999999999,
        "min": 0.862726,
        "max": 6.875846
      },
      "large_navigation_ms": {
        "n": 50,
        "median": 38.7069275,
        "min": 35.839692,
        "max": 80.508169
      },
      "large_extract_ms": {
        "n": 50,
        "median": 17.4438665,
        "min": 14.630115,
        "max": 32.988386
      },
      "large_extract_json_ms": {
        "n": 50,
        "median": 8.403627499999999,
        "min": 6.397391,
        "max": 11.25275
      },
      "image_navigation_ms": {
        "n": 30,
        "median": 120.14364549999999,
        "min": 117.412644,
        "max": 126.945941
      },
      "screenshot_ms": {
        "n": 20,
        "median": 48.867768,
        "min": 41.040143,
        "max": 70.507739
      },
      "rss_mib": {
        "n": 10,
        "median": 1601.75,
        "min": 1587.4375,
        "max": 1616.00390625
      },
      "pss_mib": {
        "n": 10,
        "median": 534.55078125,
        "min": 531.35546875,
        "max": 537.39453125
      },
      "display_pss_mib": {
        "n": 10,
        "median": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "total_pss_mib": {
        "n": 10,
        "median": 534.55078125,
        "min": 531.35546875,
        "max": 537.39453125
      },
      "process_count": {
        "n": 10,
        "median": 17.0,
        "min": 17,
        "max": 17
      },
      "native_tiny_snapshot_ms": {
        "n": 10,
        "median": 2.86027,
        "min": 2.733481,
        "max": 3.041522
      },
      "native_tiny_snapshot_wire_bytes": {
        "n": 10,
        "median": 353.0,
        "min": 353,
        "max": 353
      },
      "native_tiny_snapshot_controls": {
        "n": 10,
        "median": 0.0,
        "min": 0,
        "max": 0
      },
      "native_large_snapshot_ms": {
        "n": 10,
        "median": 156.384253,
        "min": 149.015537,
        "max": 164.532367
      },
      "native_large_snapshot_wire_bytes": {
        "n": 10,
        "median": 36572.0,
        "min": 36572,
        "max": 36572
      },
      "native_large_snapshot_controls": {
        "n": 10,
        "median": 689.0,
        "min": 689,
        "max": 689
      },
      "sessions_with_failures": 0,
      "failures": []
    }
  }
}
