test(cdp): guard target teardown resource lifetimes - #431
Conversation
Add a managed-process target-lifecycle smoke group covering 1792 close cycles across Target.closeTarget, Page.close, detach-then-close, and explicit-context disposal. Synchronize on exact target and load events, preserve a live peer, and navigate over HTTP after each phase. Enforce fixed Linux FD, poll-driver, and thread budgets after warmup, persist batch samples on failure, and report unsupported external/non-Linux sampling explicitly. Include group-selection and resource-contract tests.
364413c to
3d7312e
Compare
Spider Bench A/B✅ All benchmark browser service runs completed; results are informational. Public HEAD: 189 / 240 rows; 39 / 48 sites produced rows; 9 unexpected empty sites. ✅ Deterministic fixture contract is clean. Common ancestor Public 48-site run · informational
Public-site content, timing, and memory are noisy. This single A/B run reports evidence only; site outcome counts explain missing rows without treating them as a deterministic regression. CPU and memory timelinesThese are bounded 40-point views of the same complete process-tree samples used by the HTML report. CPU uses 100% per occupied logical core; memory lines are RSS first and PSS second when complete PSS samples are available. Basexychart-beta
title "Base CPU"
x-axis "Elapsed seconds" [1.034, 1.535, 2.536, 4.039, 5.039, 5.54, 6.541, 7.541, 9.044, 10.045, 11.547, 12.549, 14.051, 15.051, 16.552, 17.552, 19.053, 20.054, 21.557, 22.557, 24.059, 25.06, 26.562, 27.562, 29.063, 30.064, 31.565, 32.567, 34.068, 35.069, 36.57, 37.57, 38.071, 39.072, 40.073, 41.576, 42.577, 44.079]
y-axis "CPU percent" 0 --> 500
line [57.97, 115.68, 127.88, 121.8, 213.81, 221.51, 128.01, 170.03, 119.74, 191.97, 149.87, 57.95, 101.9, 124.03, 121.93, 51.97, 19.99, 57.88, 71.95, 103.87, 113.73, 131.86, 113.96, 128.03, 155.85, 21.99, 91.81, 8, 131.67, 110, 99.87, 9.99, 2, 71.82, 131.86, 63.95, 89.88, 199.74]
xychart-beta
title "Base memory: RSS then PSS"
x-axis "Elapsed seconds" [0.034, 1.034, 1.535, 2.536, 4.039, 5.039, 5.54, 6.541, 7.541, 9.044, 10.045, 11.547, 12.549, 14.051, 15.051, 16.552, 17.552, 19.053, 20.054, 21.557, 22.557, 24.059, 25.06, 26.562, 27.562, 29.063, 30.064, 31.565, 32.567, 34.068, 35.069, 36.57, 37.57, 38.071, 39.072, 40.073, 41.576, 42.577, 44.079, 44.706]
y-axis "Memory MiB" 0 --> 500
line [12.34, 90.16, 103.74, 121.96, 140.91, 172.39, 155.35, 180.13, 158.55, 181.21, 167.3, 174.36, 168.37, 172.33, 178.49, 161.98, 151.94, 150.68, 143.53, 156.48, 161.21, 186.98, 150.89, 157.14, 190.71, 154.85, 148.55, 154.08, 154.11, 193.55, 252.64, 186.96, 178.66, 178.55, 175.95, 182.74, 162.65, 169.01, 194.13, 0]
line [9.14, 86.57, 100.16, 118.36, 137.28, 168.79, 151.76, 176.6, 155, 176.09, 163.77, 170.77, 164.79, 168.82, 174.93, 158.4, 148.35, 147.09, 139.94, 153.06, 157.63, 183.4, 147.33, 153.56, 187.13, 151.27, 144.96, 150.39, 150.52, 190.25, 248.98, 183.34, 175.01, 174.89, 172.28, 179.11, 159, 165.42, 190.5, 0]
HEADxychart-beta
title "HEAD CPU"
x-axis "Elapsed seconds" [1.036, 1.537, 2.537, 4.037, 5.038, 6.54, 8.042, 9.043, 10.545, 11.546, 13.048, 14.049, 15.55, 17.052, 18.052, 19.553, 20.555, 22.058, 23.559, 24.56, 26.062, 27.063, 27.564, 28.566, 29.568, 31.07, 32.572, 33.573, 35.075, 36.077, 37.579, 39.08, 40.081, 40.581, 41.582, 42.584, 44.084, 45.086]
y-axis "CPU percent" 0 --> 500
line [57.84, 143.86, 119.86, 112.01, 151.96, 141.94, 119.92, 201.87, 105.95, 145.88, 103.98, 105.79, 35.98, 2, 8, 45.96, 29.93, 59.84, 59.94, 113.94, 119.93, 151.84, 131.76, 139.62, 75.78, 167.66, 55.95, 41.91, 109.94, 21.94, 127.72, 49.95, 11.99, 0, 87.88, 115.81, 52.03, 113.67]
xychart-beta
title "HEAD memory: RSS then PSS"
x-axis "Elapsed seconds" [0.035, 1.036, 1.537, 2.537, 4.037, 5.038, 6.54, 8.042, 9.043, 10.545, 11.546, 13.048, 14.049, 15.55, 17.052, 18.052, 19.553, 20.555, 22.058, 23.559, 24.56, 26.062, 27.063, 27.564, 28.566, 29.568, 31.07, 32.572, 33.573, 35.075, 36.077, 37.579, 39.08, 40.081, 40.581, 41.582, 42.584, 44.084, 45.086, 46.261]
y-axis "Memory MiB" 0 --> 500
line [12.36, 90.22, 109.32, 128.84, 151.04, 168.86, 156.79, 165.57, 165.39, 168.77, 161.94, 159.14, 149.23, 155.6, 182.05, 136.39, 148.15, 147.75, 142.24, 145.18, 151.31, 186.46, 192.19, 201.73, 173.06, 161.84, 176.12, 152, 150.49, 150.21, 153.21, 169.13, 161.69, 153.95, 153.91, 180.05, 170.8, 163.8, 171.99, 0]
line [8.96, 86.51, 105.92, 125.19, 147.62, 166.38, 156.25, 161.76, 161.61, 163.88, 158.06, 155.36, 145.39, 151.85, 178.21, 132.67, 143.9, 143.9, 138.4, 141.36, 147.35, 182.66, 188.34, 197.92, 169.19, 158.01, 172.13, 148.16, 146.64, 146.41, 150.38, 165.29, 157.85, 150.12, 150.08, 176.44, 166.96, 159.98, 168.22, 0]
Deterministic fixture · required contractThe fixture exercises 15 routes: 8 are expected to emit rows and 7 intentionally exercise empty, loading, or timeout behavior.
Full HTML, JSON, CSV, logs, and page snapshots: workflow run and full The public-web A/B is informational. The exact HEAD fixture contract runs as a separate required CI check; timing and public-site content deltas remain non-blocking. |
Sequential Navigation Soak A/B✅ HEAD completed the 200-navigation resilience and memory observation. One browser process, one target, and one CDP session navigate CSDN → SegmentFault → Huaban → example.com repeatedly. This run issued 200 Common ancestor Session resilience
A public-page failure is reported separately from an unrecoverable session. The soak requires all navigation attempts, zero failed recovery, zero lifecycle/network ordering violations, and complete resource evidence. Process-tree memory
HEAD memory by 50-navigation quarter
Raw reports and per-navigation boundary samples: workflow run and full Public-site timing and memory are observational. Use the A/B deltas and trend shape as evidence, not as a deterministic performance threshold. |
CI Regression ReportSource CI run · source state at render:
Release regression — ✅ HEAD/base failures 0/0; raw binary 0.00%Package and image size
Startup latency and PSS
Concurrency matrix
Frontend differential — ✅ 1,020/1,020 cases matched; 0 issues
Agent episodes · Moli vs Chromium — ✅ 8/8 Moli episodes passed; 0 failures
Runtime and CDP session contracts — ✅ 26 contract cases; 0 failures
CDP smoke — ⚪ artifact unavailable or invalidArtifact unavailable or invalid. See the source CI run for infrastructure details. All artifact fields are parsed by the trusted default-branch renderer; missing or invalid inputs remain visible as unavailable. |
No description provided.