Skip to content

Name each remote workload's in-page suite after the workload - #586

Open
canova wants to merge 2 commits into
WebKit:mainfrom
canova:remote-workload-names
Open

Name each remote workload's in-page suite after the workload#586
canova wants to merge 2 commits into
WebKit:mainfrom
canova:remote-workload-names

Conversation

@canova

@canova canova commented Aug 24, 2026

Copy link
Copy Markdown

I noticed this while I was looking at some profiles with performance.mark/measure markers. I could see some suite-default which looks odd compared to what we usually have in other workloads with proper names (like suite-Responsive-Design etc.).

It looks like this was becuse we were passing "default" as a name paramater to the BenchmarkSuite constructor. This patch adds proper names for these workfloads so they can get better names instead of suite-default in their user timing entries.

See the performance.mark/measure calls here:

const suiteStartLabel = `suite-${this.name}-start`;
const suiteEndLabel = `suite-${this.name}-end`;
performance.mark(suiteStartLabel);
for (const step of this.steps) {
const rawResult = await step.runAndRecordStep(params, this, step);
console.assert(rawResult, "Missing test return value", step);
const { syncTime, asyncTime } = rawResult;
const total = syncTime + asyncTime;
const result = {
tests: { Sync: syncTime, Async: asyncTime },
total: total,
};
if (!step.ignoreResult) {
measuredValues.tests[step.name] = result;
measuredValues.total += total;
}
onProgress?.(step.name);
}
performance.mark(suiteEndLabel);
performance.measure(`suite-${this.name}`, suiteStartLabel, suiteEndLabel);

@netlify

netlify Bot commented Aug 24, 2026

Copy link
Copy Markdown

Deploy Preview for webkit-speedometer-preview ready!

Name Link
🔨 Latest commit 656fbc5
🔍 Latest deploy log https://app.netlify.com/projects/webkit-speedometer-preview/deploys/6a8c92f1266277000879e5cd
😎 Deploy Preview https://deploy-preview-586--webkit-speedometer-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

canova added 2 commits August 24, 2026 20:52
I noticed this while I was looking at some profiles with
performance.mark/measure markers. I could see some `suite-default` which
looks odd compared to what we usually have in other workloads with
proper names (like `suite-Responsive-Design` etc.).

It looks like this was becuse we were passing `"default"` as a name
paramater to the BenchmarkSuite constructor. This patch adds proper
names for these workfloads so they can get better names instead of
`suite-default` in their user timing entries.

See the performance.mark/measure calls here:
https://github.com/WebKit/Speedometer/blob/9304efe45ef1d982c5eb9ac14f6353b264d56940/resources/shared/benchmark.mjs#L56-L78
Currently one dist serves TodoMVC-WebComponents-IndexedDB and
TodoMVC-WebComponents-DexieJS, and they are split only by the storageType URL param, but
looks like both named their suite "indexeddb". Because of this, every mark and measure collided, down to
the step level, so a user timing entry couldn't tell them apart.
@canova
canova force-pushed the remote-workload-names branch from aeaab2f to 656fbc5 Compare August 24, 2026 18:52
@canova

canova commented Aug 24, 2026

Copy link
Copy Markdown
Author

I also saw that we had 2 suite-indexeddb runs per iteration. It looks like this is because both TodoMVC-WebComponents-IndexedDB and TodoMVC-WebComponents-DexieJS tests were named as indexeddb which makes it difficult to see which one is which. I added the second commit to fix that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant