[ZEPPELIN-6668] Add notebook route benchmark contract - #5484
Conversation
6128bd9 to
df3fc8a
Compare
0d559d4 to
2caa42c
Compare
|
Some context the description leaves out: Why this PR is needed. This is the first child of ZEPPELIN-6667, part of the notebook migration in ZEPPELIN-6627. The planned route host that mounts React at the notebook URL adds a mount path to that route, even while Angular stays the default, so a measurement taken after it lands no longer describes today's Angular path. This PR fixes the fixture, ready condition and output schema first, so a follow-up can record the Angular baseline under the same contract before that change. Fixture. ZEPPELIN-6668 fixes it as a versioned note file with exactly 100 paragraphs. It is committed rather than generated so that every run, including later baselines, imports the same bytes, and its SHA-256 is recorded in every output. Changing it requires updating Cold runs. Each cold run starts with an empty browser HTTP cache, as ZEPPELIN-6668 requires; OS and server caches are not flushed. |
|
Merged into master |
What is this PR for?
Add a reproducible benchmark contract for the notebook route, without committing baseline numbers (a follow-up records them).
remoteEntry.jsRuntime metrics cover the Angular route only. The benchmark is excluded from the normal E2E run.
Most of the diff (3,319 of 3,957 added lines) is the fixture JSON. It is data, pinned by SHA-256 and checked for composition by
validateFixture, so it does not need a line-by-line review. The code to review is about 590 lines undere2e/performance/,e2e/models/notebook-performance-page.ts,test/notebook-baseline.spec.tsandplaywright.performance.config.js.What type of PR is it?
Improvement
Todos
What is the Jira issue?
ZEPPELIN-6668
How should this be tested?
A local dry run passes (1 cold + 1 warm, every summary field recorded). Use
localhost: the server rejects a127.0.0.1WebSocket origin unlesszeppelin.server.allowed.originsis set.Screenshots (if appropriate)
N/A
Questions:
e2e/performance/README.md