Skip to content

[backport core/1.47] feat: add ComfyUI frontend version to Datadog RUM - #14236

Merged
comfy-pr-bot merged 1 commit into
core/1.47from
backport-14235-to-core-1.47
Jul 31, 2026
Merged

[backport core/1.47] feat: add ComfyUI frontend version to Datadog RUM#14236
comfy-pr-bot merged 1 commit into
core/1.47from
backport-14235-to-core-1.47

Conversation

@comfy-pr-bot

Copy link
Copy Markdown
Member

Backport of #14235 to core/1.47

Automatically created by backport workflow.

## Summary

Expose `comfyui_frontend_version` on Datadog RUM events so dashboard
traffic can be filtered by the frontend release.

## Changes

- **What**: Set `comfyui_frontend_version` directly from
`__COMFYUI_FRONTEND_VERSION__` before RUM initialization.
- **Tests**: Cover the new context for classified traffic and
frontend-context probe failure paths.

## Review Focus

Confirm that the attribute name and build-time frontend version match
the dashboard contract.

Created by Codex

---------

Co-authored-by: huang47 <157390+huang47@users.noreply.github.com>
@comfy-pr-bot comfy-pr-bot added the backport Backporting a PR onto a release candidate label Jul 29, 2026
@comfy-pr-bot
comfy-pr-bot enabled auto-merge (squash) July 29, 2026 01:25
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jul 29, 2026
@dosubot

dosubot Bot commented Jul 29, 2026

Copy link
Copy Markdown

📄 Knowledge review

Dosu skipped reviewing this PR because your organization has used its 200 included credits for the month. Your usage will reset on 2026-08-01. To have Dosu review this PR before then, ask your organization admin to upgrade to a pro account.


Leave Feedback Ask Dosu about ComfyUI_frontend Add Dosu to your team

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 07/29/2026, 01:27:47 AM UTC

Links

📦 Bundle Size

⏳ Size data collection in progress…

⚡ Performance Report

canvas-idle: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 55.1 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 50.9 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 58.9 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.1 MB heap
large-graph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 63.5 MB heap
large-graph-pan: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.4 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 77.2 MB heap
minimap-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 65.3 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.5 MB heap
subgraph-idle: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 55.2 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 47.3 MB heap
subgraph-transition-enter: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 162ms TBT · 77.7 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 69.1 MB heap
vue-large-graph-idle: · 56.3 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 159.0 MB heap
vue-large-graph-pan: · 56.3 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 407ms TBT · 158.0 MB heap
workflow-execution: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 60.4 MB heap

⚠️ 11 regressions detected

Show regressions
Metric Baseline PR (median) Δ Sig
canvas-idle: task duration 471ms 499ms +6% ⚠️ z=3.4
canvas-mouse-sweep: layout duration 4ms 5ms +27% ⚠️ z=4.5
canvas-zoom-sweep: task duration 398ms 396ms -1% ⚠️ z=3.0
large-graph-idle: task duration 685ms 694ms +1% ⚠️ z=2.8
large-graph-idle: script duration 119ms 125ms +5% ⚠️ z=2.2
large-graph-pan: style recalc duration 18ms 20ms +8% ⚠️ z=3.0
large-graph-pan: task duration 1324ms 1304ms -1% ⚠️ z=5.2
large-graph-pan: script duration 468ms 456ms -3% ⚠️ z=2.4
minimap-idle: task duration 675ms 715ms +6% ⚠️ z=4.0
minimap-idle: script duration 119ms 130ms +9% ⚠️ z=3.2
subgraph-idle: task duration 490ms 508ms +4% ⚠️ z=4.4
All metrics
Metric Baseline PR (median) Δ Sig
canvas-idle: avg frame time 17ms 17ms +0% z=-0.5
canvas-idle: p95 frame time 17ms 17ms +1%
canvas-idle: layout duration 0ms 0ms +0%
canvas-idle: style recalc duration 8ms 9ms +8% z=-2.2
canvas-idle: layout count 0 0 +0%
canvas-idle: style recalc count 9 9 +6% z=-3.8
canvas-idle: task duration 471ms 499ms +6% ⚠️ z=3.4
canvas-idle: script duration 19ms 21ms +9% z=-1.8
canvas-idle: TBT 0ms 0ms +0%
canvas-idle: heap used 55.1 MB 55.1 MB +0%
canvas-idle: DOM nodes 17 18 +6% z=-3.6
canvas-idle: event listeners 5 5 +0% z=-1.4
canvas-mouse-sweep: avg frame time 17ms 17ms +0% z=-0.4
canvas-mouse-sweep: p95 frame time 17ms 17ms +0%
canvas-mouse-sweep: layout duration 4ms 5ms +27% ⚠️ z=4.5
canvas-mouse-sweep: style recalc duration 41ms 44ms +8% z=0.5
canvas-mouse-sweep: layout count 12 12 +0%
canvas-mouse-sweep: style recalc count 77 77 +1% z=-0.7
canvas-mouse-sweep: task duration 926ms 963ms +4% z=1.7
canvas-mouse-sweep: script duration 133ms 131ms -1% z=-0.7
canvas-mouse-sweep: TBT 0ms 0ms +0%
canvas-mouse-sweep: heap used 50.7 MB 50.9 MB +0%
canvas-mouse-sweep: DOM nodes 59 60 +1% z=-1.1
canvas-mouse-sweep: event listeners 4 5 +25% z=-0.8
canvas-zoom-sweep: avg frame time 17ms 17ms -0% z=-0.3
canvas-zoom-sweep: p95 frame time 17ms 17ms +0%
canvas-zoom-sweep: layout duration 1ms 1ms +12% z=-0.4
canvas-zoom-sweep: style recalc duration 17ms 18ms +5% z=-0.6
canvas-zoom-sweep: layout count 6 6 +0%
canvas-zoom-sweep: style recalc count 33 32 -2% z=1.6
canvas-zoom-sweep: task duration 398ms 396ms -1% ⚠️ z=3.0
canvas-zoom-sweep: script duration 23ms 24ms +5% z=-1.1
canvas-zoom-sweep: TBT 0ms 0ms +0%
canvas-zoom-sweep: heap used 58.9 MB 58.9 MB +0%
canvas-zoom-sweep: DOM nodes 78 78 +1% z=-1.6
canvas-zoom-sweep: event listeners 19 19 +0% z=-0.9
dom-widget-clipping: avg frame time 17ms 17ms -0% z=-0.6
dom-widget-clipping: p95 frame time 17ms 17ms -0%
dom-widget-clipping: layout duration 0ms 0ms +0%
dom-widget-clipping: style recalc duration 8ms 7ms -13% z=-3.1
dom-widget-clipping: layout count 0 0 +0%
dom-widget-clipping: style recalc count 11 11 +5% z=-4.2
dom-widget-clipping: task duration 409ms 378ms -8% z=0.8
dom-widget-clipping: script duration 62ms 59ms -5% z=-2.7
dom-widget-clipping: TBT 0ms 0ms +0%
dom-widget-clipping: heap used 64.1 MB 64.1 MB -0%
dom-widget-clipping: DOM nodes 17 18 +6% z=-2.9
dom-widget-clipping: event listeners 1 1 +0% variance too high
large-graph-idle: avg frame time 17ms 17ms +0% z=-0.2
large-graph-idle: p95 frame time 17ms 17ms +0%
large-graph-idle: layout duration 0ms 0ms +0%
large-graph-idle: style recalc duration 9ms 9ms +5% z=-2.7
large-graph-idle: layout count 0 0 +0%
large-graph-idle: style recalc count 9 10 +6% z=-6.7
large-graph-idle: task duration 685ms 694ms +1% ⚠️ z=2.8
large-graph-idle: script duration 119ms 125ms +5% ⚠️ z=2.2
large-graph-idle: TBT 0ms 0ms +0%
large-graph-idle: heap used 63.4 MB 63.5 MB +0%
large-graph-idle: DOM nodes 18 19 +6% z=-6.3
large-graph-idle: event listeners 6 6 +0% z=-3.3
large-graph-pan: avg frame time 17ms 17ms +0% z=-0.2
large-graph-pan: p95 frame time 17ms 17ms -0%
large-graph-pan: layout duration 0ms 0ms +0%
large-graph-pan: style recalc duration 18ms 20ms +8% ⚠️ z=3.0
large-graph-pan: layout count 0 0 +0%
large-graph-pan: style recalc count 69 69 +1% z=-0.9
large-graph-pan: task duration 1324ms 1304ms -1% ⚠️ z=5.2
large-graph-pan: script duration 468ms 456ms -3% ⚠️ z=2.4
large-graph-pan: TBT 0ms 0ms +0%
large-graph-pan: heap used 64.6 MB 64.4 MB -0%
large-graph-pan: DOM nodes 15 17 +13% z=-1.2
large-graph-pan: event listeners 6 6 +0% z=1.3
large-graph-zoom: avg frame time 17ms 17ms +0%
large-graph-zoom: p95 frame time 17ms 17ms -0%
large-graph-zoom: layout duration 8ms 8ms +4%
large-graph-zoom: style recalc duration 19ms 20ms +5%
large-graph-zoom: layout count 60 60 +0%
large-graph-zoom: style recalc count 65 65 +1%
large-graph-zoom: task duration 1521ms 1572ms +3%
large-graph-zoom: script duration 545ms 574ms +5%
large-graph-zoom: TBT 0ms 0ms +0%
large-graph-zoom: heap used 74.7 MB 77.2 MB +3%
large-graph-zoom: DOM nodes 11 12 +9%
large-graph-zoom: event listeners 8 9 +13%
minimap-idle: avg frame time 17ms 17ms -0% z=-0.4
minimap-idle: p95 frame time 17ms 17ms +0%
minimap-idle: layout duration 0ms 0ms +0%
minimap-idle: style recalc duration 12ms 9ms -25% z=-1.1
minimap-idle: layout count 0 0 +0%
minimap-idle: style recalc count 9 9 +0% z=-1.6
minimap-idle: task duration 675ms 715ms +6% ⚠️ z=4.0
minimap-idle: script duration 119ms 130ms +9% ⚠️ z=3.2
minimap-idle: TBT 0ms 0ms +0%
minimap-idle: heap used 65.7 MB 65.3 MB -1%
minimap-idle: DOM nodes 17 17 +0% z=-1.6
minimap-idle: event listeners 6 5 -17% z=0.6
subgraph-dom-widget-clipping: avg frame time 17ms 17ms +0% z=0.1
subgraph-dom-widget-clipping: p95 frame time 17ms 17ms +0%
subgraph-dom-widget-clipping: layout duration 0ms 0ms +0%
subgraph-dom-widget-clipping: style recalc duration 11ms 10ms -8% z=-2.6
subgraph-dom-widget-clipping: layout count 0 0 +0%
subgraph-dom-widget-clipping: style recalc count 47 46 -3% z=-4.2
subgraph-dom-widget-clipping: task duration 401ms 400ms -0% z=1.2
subgraph-dom-widget-clipping: script duration 121ms 120ms -0% z=-1.3
subgraph-dom-widget-clipping: TBT 0ms 0ms +0%
subgraph-dom-widget-clipping: heap used 64.7 MB 64.5 MB -0%
subgraph-dom-widget-clipping: DOM nodes 20 17 -15% z=-4.6
subgraph-dom-widget-clipping: event listeners 6 7 +17% z=-1.6
subgraph-idle: avg frame time 17ms 17ms +0% z=0.4
subgraph-idle: p95 frame time 17ms 17ms +0%
subgraph-idle: layout duration 0ms 0ms +0%
subgraph-idle: style recalc duration 10ms 9ms -5% z=-1.4
subgraph-idle: layout count 0 0 +0%
subgraph-idle: style recalc count 11 10 -5% z=-1.4
subgraph-idle: task duration 490ms 508ms +4% ⚠️ z=4.4
subgraph-idle: script duration 17ms 20ms +15% z=-0.1
subgraph-idle: TBT 0ms 0ms +0%
subgraph-idle: heap used 55.2 MB 55.2 MB +0%
subgraph-idle: DOM nodes 21 20 -5% z=-1.2
subgraph-idle: event listeners 4 4 +0% variance too high
subgraph-mouse-sweep: avg frame time 17ms 17ms -0% z=-0.1
subgraph-mouse-sweep: p95 frame time 17ms 17ms -0%
subgraph-mouse-sweep: layout duration 4ms 4ms +6% z=-1.0
subgraph-mouse-sweep: style recalc duration 37ms 40ms +7% z=-0.9
subgraph-mouse-sweep: layout count 16 16 +0%
subgraph-mouse-sweep: style recalc count 77 77 +0% z=-1.9
subgraph-mouse-sweep: task duration 788ms 807ms +2% z=0.6
subgraph-mouse-sweep: script duration 95ms 97ms +2% z=-0.6
subgraph-mouse-sweep: TBT 0ms 0ms +0%
subgraph-mouse-sweep: heap used 47.2 MB 47.3 MB +0%
subgraph-mouse-sweep: DOM nodes 64 63 -2% z=-2.0
subgraph-mouse-sweep: event listeners 4 4 +0% variance too high
subgraph-transition-enter: avg frame time 17ms 17ms -0%
subgraph-transition-enter: p95 frame time 17ms 17ms -1%
subgraph-transition-enter: layout duration 16ms 16ms +0%
subgraph-transition-enter: style recalc duration 33ms 33ms -2%
subgraph-transition-enter: layout count 16 14 -13%
subgraph-transition-enter: style recalc count 20 18 -10%
subgraph-transition-enter: task duration 1017ms 999ms -2%
subgraph-transition-enter: script duration 38ms 39ms +3%
subgraph-transition-enter: TBT 166ms 162ms -2%
subgraph-transition-enter: heap used 77.7 MB 77.7 MB +0%
subgraph-transition-enter: DOM nodes 13673 13673 +0%
subgraph-transition-enter: event listeners 2533 2533 +0%
viewport-pan-sweep: avg frame time 17ms 17ms +0%
viewport-pan-sweep: p95 frame time 17ms 17ms +0%
viewport-pan-sweep: layout duration 0ms 0ms +0%
viewport-pan-sweep: style recalc duration 53ms 57ms +7%
viewport-pan-sweep: layout count 0 0 +0%
viewport-pan-sweep: style recalc count 250 251 +0%
viewport-pan-sweep: task duration 4704ms 4783ms +2%
viewport-pan-sweep: script duration 1490ms 1556ms +4%
viewport-pan-sweep: TBT 0ms 0ms +0%
viewport-pan-sweep: heap used 68.0 MB 69.1 MB +2%
viewport-pan-sweep: DOM nodes 17 19 +12%
viewport-pan-sweep: event listeners 22 22 +0%
vue-large-graph-idle: avg frame time 18ms 18ms -2%
vue-large-graph-idle: p95 frame time 17ms 17ms -0%
vue-large-graph-idle: layout duration 0ms 0ms +0%
vue-large-graph-idle: style recalc duration 0ms 0ms +0%
vue-large-graph-idle: layout count 0 0 +0%
vue-large-graph-idle: style recalc count 0 0 +0%
vue-large-graph-idle: task duration 17623ms 17559ms -0%
vue-large-graph-idle: script duration 586ms 503ms -14%
vue-large-graph-idle: TBT 0ms 0ms +0%
vue-large-graph-idle: heap used 158.3 MB 159.0 MB +0%
vue-large-graph-idle: DOM nodes -3326 -3328 +0%
vue-large-graph-idle: event listeners -16378 -16377 -0%
vue-large-graph-pan: avg frame time 18ms 18ms -0%
vue-large-graph-pan: p95 frame time 17ms 17ms -0%
vue-large-graph-pan: layout duration 0ms 0ms +0%
vue-large-graph-pan: style recalc duration 25ms 27ms +6%
vue-large-graph-pan: layout count 0 0 +0%
vue-large-graph-pan: style recalc count 151 147 -2%
vue-large-graph-pan: task duration 21217ms 21222ms +0%
vue-large-graph-pan: script duration 864ms 871ms +1%
vue-large-graph-pan: TBT 375ms 407ms +9%
vue-large-graph-pan: heap used 166.9 MB 158.0 MB -5%
vue-large-graph-pan: DOM nodes -3326 -3326 +0%
vue-large-graph-pan: event listeners -16371 -16373 +0%
workflow-execution: avg frame time 17ms 17ms +0% z=1.1
workflow-execution: p95 frame time 17ms 17ms +0%
workflow-execution: layout duration 0ms 0ms -14% z=-7.7
workflow-execution: style recalc duration 18ms 18ms +1% z=-2.8
workflow-execution: layout count 3 3 +0% z=-4.5
workflow-execution: style recalc count 13 12 -8% z=-2.8
workflow-execution: task duration 105ms 105ms +1% z=-1.6
workflow-execution: script duration 10ms 10ms +2% z=-6.5
workflow-execution: TBT 0ms 0ms +0%
workflow-execution: heap used 60.4 MB 60.4 MB +0%
workflow-execution: DOM nodes 125 123 -2% z=-5.4
workflow-execution: event listeners 66 66 +0% z=3.2
Historical variance (last 15 runs)
Metric μ σ CV
canvas-idle: avg frame time 17ms 0ms 0.0%
canvas-idle: layout duration 0ms 0ms 0.0%
canvas-idle: style recalc duration 11ms 1ms 8.2%
canvas-idle: layout count 0 0 0.0%
canvas-idle: style recalc count 11 1 5.0%
canvas-idle: task duration 395ms 31ms 7.9%
canvas-idle: script duration 25ms 2ms 8.8%
canvas-idle: TBT 0ms 0ms 0.0%
canvas-idle: DOM nodes 23 1 5.6%
canvas-idle: event listeners 12 5 40.9%
canvas-mouse-sweep: avg frame time 17ms 0ms 0.0%
canvas-mouse-sweep: layout duration 4ms 0ms 5.4%
canvas-mouse-sweep: style recalc duration 43ms 3ms 7.4%
canvas-mouse-sweep: layout count 12 0 0.0%
canvas-mouse-sweep: style recalc count 79 2 3.0%
canvas-mouse-sweep: task duration 865ms 58ms 6.7%
canvas-mouse-sweep: script duration 136ms 6ms 4.8%
canvas-mouse-sweep: TBT 0ms 0ms 0.0%
canvas-mouse-sweep: DOM nodes 62 3 4.2%
canvas-mouse-sweep: event listeners 8 4 49.4%
canvas-zoom-sweep: avg frame time 17ms 0ms 0.0%
canvas-zoom-sweep: layout duration 1ms 0ms 7.0%
canvas-zoom-sweep: style recalc duration 19ms 2ms 8.0%
canvas-zoom-sweep: layout count 6 0 0.0%
canvas-zoom-sweep: style recalc count 31 0 1.5%
canvas-zoom-sweep: task duration 327ms 23ms 7.1%
canvas-zoom-sweep: script duration 27ms 3ms 11.1%
canvas-zoom-sweep: TBT 0ms 0ms 0.0%
canvas-zoom-sweep: DOM nodes 79 1 1.0%
canvas-zoom-sweep: event listeners 24 5 21.8%
dom-widget-clipping: avg frame time 17ms 0ms 0.0%
dom-widget-clipping: layout duration 0ms 0ms 0.0%
dom-widget-clipping: style recalc duration 10ms 1ms 8.0%
dom-widget-clipping: layout count 0 0 0.0%
dom-widget-clipping: style recalc count 13 0 3.8%
dom-widget-clipping: task duration 365ms 16ms 4.5%
dom-widget-clipping: script duration 68ms 3ms 4.8%
dom-widget-clipping: TBT 0ms 0ms 0.0%
dom-widget-clipping: DOM nodes 22 1 6.4%
dom-widget-clipping: event listeners 8 6 81.2%
large-graph-idle: avg frame time 17ms 0ms 0.0%
large-graph-idle: layout duration 0ms 0ms 0.0%
large-graph-idle: style recalc duration 12ms 1ms 8.6%
large-graph-idle: layout count 0 0 0.0%
large-graph-idle: style recalc count 12 0 2.7%
large-graph-idle: task duration 542ms 54ms 10.0%
large-graph-idle: script duration 102ms 11ms 10.3%
large-graph-idle: TBT 0ms 0ms 0.0%
large-graph-idle: DOM nodes 25 1 3.7%
large-graph-idle: event listeners 26 6 23.2%
large-graph-pan: avg frame time 17ms 0ms 0.0%
large-graph-pan: layout duration 0ms 0ms 0.0%
large-graph-pan: style recalc duration 17ms 1ms 4.6%
large-graph-pan: layout count 0 0 0.0%
large-graph-pan: style recalc count 70 1 0.9%
large-graph-pan: task duration 1082ms 43ms 4.0%
large-graph-pan: script duration 408ms 20ms 4.8%
large-graph-pan: TBT 0ms 0ms 0.0%
large-graph-pan: DOM nodes 19 2 8.7%
large-graph-pan: event listeners 5 1 16.8%
minimap-idle: avg frame time 17ms 0ms 0.0%
minimap-idle: layout duration 0ms 0ms 0.0%
minimap-idle: style recalc duration 10ms 1ms 8.6%
minimap-idle: layout count 0 0 0.0%
minimap-idle: style recalc count 10 1 7.1%
minimap-idle: task duration 527ms 47ms 9.0%
minimap-idle: script duration 98ms 10ms 10.1%
minimap-idle: TBT 0ms 0ms 0.0%
minimap-idle: DOM nodes 19 1 7.1%
minimap-idle: event listeners 5 1 14.4%
subgraph-dom-widget-clipping: avg frame time 17ms 0ms 0.0%
subgraph-dom-widget-clipping: layout duration 0ms 0ms 0.0%
subgraph-dom-widget-clipping: style recalc duration 13ms 1ms 7.4%
subgraph-dom-widget-clipping: layout count 0 0 0.0%
subgraph-dom-widget-clipping: style recalc count 48 1 1.2%
subgraph-dom-widget-clipping: task duration 378ms 18ms 4.9%
subgraph-dom-widget-clipping: script duration 128ms 6ms 4.9%
subgraph-dom-widget-clipping: TBT 0ms 0ms 0.0%
subgraph-dom-widget-clipping: DOM nodes 22 1 5.0%
subgraph-dom-widget-clipping: event listeners 16 6 36.0%
subgraph-idle: avg frame time 17ms 0ms 0.0%
subgraph-idle: layout duration 0ms 0ms 0.0%
subgraph-idle: style recalc duration 10ms 1ms 7.5%
subgraph-idle: layout count 0 0 0.0%
subgraph-idle: style recalc count 11 1 6.0%
subgraph-idle: task duration 370ms 31ms 8.5%
subgraph-idle: script duration 20ms 3ms 13.2%
subgraph-idle: TBT 0ms 0ms 0.0%
subgraph-idle: DOM nodes 22 1 6.9%
subgraph-idle: event listeners 10 7 64.5%
subgraph-mouse-sweep: avg frame time 17ms 0ms 0.0%
subgraph-mouse-sweep: layout duration 5ms 0ms 6.8%
subgraph-mouse-sweep: style recalc duration 42ms 3ms 7.8%
subgraph-mouse-sweep: layout count 16 0 0.0%
subgraph-mouse-sweep: style recalc count 80 2 2.4%
subgraph-mouse-sweep: task duration 766ms 69ms 9.0%
subgraph-mouse-sweep: script duration 101ms 7ms 6.5%
subgraph-mouse-sweep: TBT 0ms 0ms 0.0%
subgraph-mouse-sweep: DOM nodes 67 2 3.3%
subgraph-mouse-sweep: event listeners 8 4 52.6%
workflow-execution: avg frame time 17ms 0ms 0.0%
workflow-execution: layout duration 2ms 0ms 9.4%
workflow-execution: style recalc duration 24ms 2ms 9.1%
workflow-execution: layout count 5 1 11.0%
workflow-execution: style recalc count 18 2 11.5%
workflow-execution: task duration 123ms 11ms 8.8%
workflow-execution: script duration 29ms 3ms 10.2%
workflow-execution: TBT 0ms 0ms 0.0%
workflow-execution: DOM nodes 161 7 4.4%
workflow-execution: event listeners 52 4 8.4%
Trend (last 15 commits on main)
Metric Trend Dir Latest
canvas-idle: avg frame time ▆▃▆▁▆▃▆█▆▆▄▃▃▄▃ ➡️ 17ms
canvas-idle: p95 frame time ➡️ NaNms
canvas-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-idle: style recalc duration ▇▇▆▆▃█▄▃▄▃▇▄▁▆▇ ➡️ 11ms
canvas-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
canvas-idle: style recalc count █▃▅▂▅▆▃▁▂▁▂▅▆▅▆ ➡️ 12
canvas-idle: task duration ▃▃▃▆▂▃▃▅▆▂█▃▁▃▃ ➡️ 391ms
canvas-idle: script duration ▄▃▅▇▂▅▃▆▇▅█▄▁▅▆ ➡️ 27ms
canvas-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-idle: heap used ➡️ NaN MB
canvas-idle: DOM nodes █▇▆▅▃▇▃▁▂▂▅▆▆▆▇ ➡️ 24
canvas-idle: event listeners ▅█▅▄▁▅▁▁▁▄▅▅▁▅▄ 📉 11
canvas-mouse-sweep: avg frame time ▆█▆▃▁▃▁▆▆▁▃▆▆▃▃ ➡️ 17ms
canvas-mouse-sweep: p95 frame time ➡️ NaNms
canvas-mouse-sweep: layout duration ▁▃▂▄▁▂▁▃▆▂█▇▆▄▃ ➡️ 4ms
canvas-mouse-sweep: style recalc duration ▄▄▂▄▁▂▃▃▅▄█▆▂▄▄ ➡️ 43ms
canvas-mouse-sweep: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 12
canvas-mouse-sweep: style recalc count █▅▄▃▂▂▁▄▄▅▆▅▂▇▄ ➡️ 79
canvas-mouse-sweep: task duration █▆▄▂▂▃▂▄▄▅█▆▁▆▄ ➡️ 868ms
canvas-mouse-sweep: script duration ▄▅▄▆▄▆▆▆▅▅█▆▁▅▆ ➡️ 139ms
canvas-mouse-sweep: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-mouse-sweep: heap used ➡️ NaN MB
canvas-mouse-sweep: DOM nodes █▅▃▃▁▂▂▃▂▄▆▅▃▅▅ ➡️ 64
canvas-mouse-sweep: event listeners █▁▁▁▁▁▇▁▁▁██▇▁█ 📈 13
canvas-zoom-sweep: avg frame time ▅▅█▄▅▁▁▁▅▁▁▅▄▅▁ ➡️ 17ms
canvas-zoom-sweep: p95 frame time ➡️ NaNms
canvas-zoom-sweep: layout duration ▆▅▅▄▁▁█▅▃▅▇▆▁▂▆ ➡️ 1ms
canvas-zoom-sweep: style recalc duration ▆▅▄▆▅▃█▆▇▅▇▄▁▃▅ ➡️ 20ms
canvas-zoom-sweep: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 6
canvas-zoom-sweep: style recalc count ▁▁▃▄▆▃▆█▄▄▆▁▆▁▆ ➡️ 32
canvas-zoom-sweep: task duration ▄▂▁▇▂▂▄▅▆▃█▄▁▁▅ ➡️ 338ms
canvas-zoom-sweep: script duration ▃▃▂▇▂▂▅▇▆▅█▄▁▂▆ ➡️ 30ms
canvas-zoom-sweep: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
canvas-zoom-sweep: heap used ➡️ NaN MB
canvas-zoom-sweep: DOM nodes ▄▃▁▅█▁▃▆▄▅▅▃▃▄▃ ➡️ 79
canvas-zoom-sweep: event listeners ▁▁▂▅█▂▁▅▁▅▅▄▁▅▁ ➡️ 19
dom-widget-clipping: avg frame time ▂▄▅▅▂▄█▇▅▇▇▅▅▁▇ ➡️ 17ms
dom-widget-clipping: p95 frame time ➡️ NaNms
dom-widget-clipping: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
dom-widget-clipping: style recalc duration ▆▆▂▆▄▃██▄▁▆▇▆▃▅ ➡️ 10ms
dom-widget-clipping: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
dom-widget-clipping: style recalc count ▇█▅█▅▄█▇▇▁▇▄▇▂▅ ➡️ 13
dom-widget-clipping: task duration ▃▃▁▅▄▃▅▆▅▂▇█▁▅▅ ➡️ 371ms
dom-widget-clipping: script duration ▅▄▄▆▆▅▇▇▆▃█▇▁▇▇ ➡️ 71ms
dom-widget-clipping: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
dom-widget-clipping: heap used ➡️ NaN MB
dom-widget-clipping: DOM nodes ▇▇▄▇▅▄█▇▅▁▅▄▇▃▄ ➡️ 21
dom-widget-clipping: event listeners ▅▅▅▅▁▅██▁▁▁▁█▁▁ 📉 2
large-graph-idle: avg frame time ▅▅▅▅▅▂▁▂▄▅▄▂▂▅█ ➡️ 17ms
large-graph-idle: p95 frame time ➡️ NaNms
large-graph-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-idle: style recalc duration ▅▅▅▆▄▅▃▄▅▅▆█▁▄▆ ➡️ 13ms
large-graph-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
large-graph-idle: style recalc count █▆█▃▃▁▃▆▃▆▆▃▆██ ➡️ 12
large-graph-idle: task duration ▂▃▂▆▂▃▃▇▅▃██▁▂▅ ➡️ 569ms
large-graph-idle: script duration ▄▅▄▆▄▅▅▇▆▅█▆▁▃▆ ➡️ 110ms
large-graph-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-idle: heap used ➡️ NaN MB
large-graph-idle: DOM nodes ▆█▅▂▅▃▁▂▃▅▅▆▂▆▅ ➡️ 25
large-graph-idle: event listeners ███▇██▄▁▄▇▇█▂█▇ ➡️ 29
large-graph-pan: avg frame time ▆▃▃▆█▃▁█▆▆▆▆█▁▆ ➡️ 17ms
large-graph-pan: p95 frame time ➡️ NaNms
large-graph-pan: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-pan: style recalc duration ▃▂▄▄▁▅▂▂▁▄▄█▃▁▂ ➡️ 17ms
large-graph-pan: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
large-graph-pan: style recalc count ▆▃█▂▃▂▂▂▁▇▅▃█▆▃ ➡️ 69
large-graph-pan: task duration ▄▃▄▆▄▄▄▆▄▄█▆▁▂▅ ➡️ 1100ms
large-graph-pan: script duration ▅▄▅▆▆▅▄▆▄▅█▄▁▄▅ ➡️ 413ms
large-graph-pan: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
large-graph-pan: heap used ➡️ NaN MB
large-graph-pan: DOM nodes ▅▃▆▂▄▁▃▁▁▅▁▂█▅▂ ➡️ 18
large-graph-pan: event listeners █▆█▁▁▆▁▁▃▆▁▃██▃ ➡️ 5
minimap-idle: avg frame time ▃▆▆▃█▁█▆▆▃▃▆█▆█ ➡️ 17ms
minimap-idle: p95 frame time ➡️ NaNms
minimap-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
minimap-idle: style recalc duration ▄█▁█▅▅█▅▅▃▅▁▁▄▆ ➡️ 10ms
minimap-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
minimap-idle: style recalc count ▃▅▂▄█▃▆▁▂▅▂▁▅▆▃ ➡️ 9
minimap-idle: task duration ▃▄▁▅▁▃▄▅▇▃█▅▁▁▅ ➡️ 547ms
minimap-idle: script duration ▄▆▃▇▃▅▆▆▇▅█▅▁▃▆ ➡️ 106ms
minimap-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
minimap-idle: heap used ➡️ NaN MB
minimap-idle: DOM nodes ▃▅▂▄█▃▆▁▂▅▂▁▅▆▃ ➡️ 19
minimap-idle: event listeners ▃▃▆▁▁▁▃▁▁▆▁▃█▆▁ ➡️ 4
subgraph-dom-widget-clipping: avg frame time ▅▄▄▄▄▄█▄▄▄▃▁▆▃▃ ➡️ 17ms
subgraph-dom-widget-clipping: p95 frame time ➡️ NaNms
subgraph-dom-widget-clipping: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-dom-widget-clipping: style recalc duration ▂▄▃▅▅▃▂▅▇▃▄█▁▄▆ ➡️ 14ms
subgraph-dom-widget-clipping: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
subgraph-dom-widget-clipping: style recalc count ▇█▆▃▆▃▁▆█▇▃▆▇█▅ ➡️ 48
subgraph-dom-widget-clipping: task duration ▂▃▃▆▅▅▂▅█▂▆█▁▂▇ ➡️ 398ms
subgraph-dom-widget-clipping: script duration ▃▃▃▄▅▅▂▄█▂▅▇▁▂▅ ➡️ 131ms
subgraph-dom-widget-clipping: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-dom-widget-clipping: heap used ➡️ NaN MB
subgraph-dom-widget-clipping: DOM nodes ▅▇▅▂▅▂▁▅▅▅▁▇▅█▄ ➡️ 22
subgraph-dom-widget-clipping: event listeners ▅▅▅▂▅▁▅██▁▁█▅█▅ 📈 16
subgraph-idle: avg frame time ▆▆█▁▆▃▆▆▆▃▆▁▃▆█ ➡️ 17ms
subgraph-idle: p95 frame time ➡️ NaNms
subgraph-idle: layout duration ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-idle: style recalc duration ▁▇▃▆▂▄▂▃▃▆▆▄▃▇█ ➡️ 12ms
subgraph-idle: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0
subgraph-idle: style recalc count ▃▆▃▃▂▅▁▂▁▆▃▃██▇ ➡️ 12
subgraph-idle: task duration ▁▃▁▇▁▁▃▆▅▂█▅▁▁▄ ➡️ 378ms
subgraph-idle: script duration ▁▃▂▇▁▂▃▇▆▂█▅▂▁▅ ➡️ 22ms
subgraph-idle: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-idle: heap used ➡️ NaN MB
subgraph-idle: DOM nodes ▃▅▃▂▁▄▁▂▁▅▃▂▇█▇ ➡️ 24
subgraph-idle: event listeners ▁▅▁▁▁▁▁▁▁▅▄▁███ 📈 21
subgraph-mouse-sweep: avg frame time ▅▄▁▃▃▄▆▄▆▃▃█▁▃▃ ➡️ 17ms
subgraph-mouse-sweep: p95 frame time ➡️ NaNms
subgraph-mouse-sweep: layout duration ▁▄▄▄▃▃▅▅▅▂█▇▂▃▆ ➡️ 5ms
subgraph-mouse-sweep: style recalc duration ▃▂▄▅▂▃▄▅█▃█▆▁▂▅ ➡️ 43ms
subgraph-mouse-sweep: layout count ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 16
subgraph-mouse-sweep: style recalc count ▅▂▅▅▁▄▃▅█▅▆▄▂▄▅ ➡️ 81
subgraph-mouse-sweep: task duration ▃▂▄▅▂▄▄▅▇▄█▆▁▃▅ ➡️ 785ms
subgraph-mouse-sweep: script duration ▄▅▄▇▅▅▆▇▆▅██▁▄▆ ➡️ 105ms
subgraph-mouse-sweep: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
subgraph-mouse-sweep: heap used ➡️ NaN MB
subgraph-mouse-sweep: DOM nodes ▅▁▄▅▁▄▃▃█▅▅▄▂▅▃ ➡️ 66
subgraph-mouse-sweep: event listeners ▇▁▂▇▁▂▂▂█▇▂▂▇▇▂ 📈 5
workflow-execution: avg frame time ▆▆▆▄▆▆▃▄▁▄█▆▅▄▆ ➡️ 17ms
workflow-execution: p95 frame time ➡️ NaNms
workflow-execution: layout duration ▁▆▁▃▂▄▃▂▃▃▅█▄▂▅ ➡️ 2ms
workflow-execution: style recalc duration ▃▇▅▇▁▅▆▇█▁██▂▄▆ ➡️ 25ms
workflow-execution: layout count ▁█▂▃▂▃▃▁▃▃▄▃▂▃▂ ➡️ 5
workflow-execution: style recalc count ▃█▅▇▁▄▅▆▅▅▅▅▄▄▂ ➡️ 15
workflow-execution: task duration ▂▅▄▅▁▄▆▆▆▁▇█▁▃▃ ➡️ 120ms
workflow-execution: script duration ▄▃▄▄▃▅▄▅▆▂▇█▁▃▄ ➡️ 29ms
workflow-execution: TBT ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ➡️ 0ms
workflow-execution: heap used ➡️ NaN MB
workflow-execution: DOM nodes ▂█▃▆▁▄▃▅▃█▃▃▄▃▁ ➡️ 152
workflow-execution: event listeners ▅███▁▅███▁██▅█▅ ➡️ 49
Raw data
{
  "timestamp": "2026-07-29T01:38:03.687Z",
  "gitSha": "46338ebdb11c142f96cbaa5fe7a3680c65070346",
  "branch": "backport-14235-to-core-1.47",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2022.0699999999852,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 9.549,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 507.97,
      "heapDeltaBytes": -1469336,
      "heapUsedBytes": 57620528,
      "domNodes": 18,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 21.356,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "canvas-idle",
      "durationMs": 2070.9739999999783,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.164,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 490.801,
      "heapDeltaBytes": -1213376,
      "heapUsedBytes": 57974520,
      "domNodes": 18,
      "jsHeapTotalBytes": 25690112,
      "scriptDurationMs": 21.017,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 2053.5549999999885,
      "styleRecalcs": 78,
      "styleRecalcDurationMs": 46.538,
      "layouts": 12,
      "layoutDurationMs": 4.643000000000001,
      "taskDurationMs": 1014.0950000000001,
      "heapDeltaBytes": -5753128,
      "heapUsedBytes": 53395148,
      "domNodes": 60,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 134.02700000000002,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1913.6220000000321,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 41.637,
      "layouts": 12,
      "layoutDurationMs": 4.356999999999999,
      "taskDurationMs": 911.741,
      "heapDeltaBytes": -5834304,
      "heapUsedBytes": 53346864,
      "domNodes": 59,
      "jsHeapTotalBytes": 24641536,
      "scriptDurationMs": 128.244,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1737.5690000000077,
      "styleRecalcs": 31,
      "styleRecalcDurationMs": 17.984,
      "layouts": 6,
      "layoutDurationMs": 0.678,
      "taskDurationMs": 394.41800000000006,
      "heapDeltaBytes": 2789208,
      "heapUsedBytes": 61970052,
      "domNodes": 77,
      "jsHeapTotalBytes": 24379392,
      "scriptDurationMs": 24.488999999999997,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1739.650000000097,
      "styleRecalcs": 33,
      "styleRecalcDurationMs": 18.469,
      "layouts": 6,
      "layoutDurationMs": 0.5720000000000001,
      "taskDurationMs": 397.702,
      "heapDeltaBytes": 2506084,
      "heapUsedBytes": 61648364,
      "domNodes": 79,
      "jsHeapTotalBytes": 24379392,
      "scriptDurationMs": 23.313,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 588.9949999999828,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 7.067,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 379.55,
      "heapDeltaBytes": 8427060,
      "heapUsedBytes": 67825568,
      "domNodes": 18,
      "jsHeapTotalBytes": 19398656,
      "scriptDurationMs": 59.578,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 576.4440000000377,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 7.708000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 376.06100000000004,
      "heapDeltaBytes": 7385520,
      "heapUsedBytes": 66579404,
      "domNodes": 18,
      "jsHeapTotalBytes": 18874368,
      "scriptDurationMs": 58.52,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.663333333333338,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2026.537000000019,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 9.238999999999997,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 697.3840000000001,
      "heapDeltaBytes": -6920920,
      "heapUsedBytes": 66458972,
      "domNodes": 18,
      "jsHeapTotalBytes": 7221248,
      "scriptDurationMs": 122.768,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2023.1979999999794,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.512,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 690.0169999999998,
      "heapDeltaBytes": -6693096,
      "heapUsedBytes": 66792828,
      "domNodes": 20,
      "jsHeapTotalBytes": 8269824,
      "scriptDurationMs": 128.079,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2241.280999999958,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 19.977999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1292.768,
      "heapDeltaBytes": 12189392,
      "heapUsedBytes": 67417464,
      "domNodes": 18,
      "jsHeapTotalBytes": 5156864,
      "scriptDurationMs": 446.903,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2272.181000000046,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 19.407000000000004,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1315.545,
      "heapDeltaBytes": 12470656,
      "heapUsedBytes": 67640508,
      "domNodes": 16,
      "jsHeapTotalBytes": 5419008,
      "scriptDurationMs": 464.411,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3300.7860000000164,
      "styleRecalcs": 65,
      "styleRecalcDurationMs": 19.634,
      "layouts": 60,
      "layoutDurationMs": 7.726999999999999,
      "taskDurationMs": 1550.2050000000002,
      "heapDeltaBytes": 22843416,
      "heapUsedBytes": 79382508,
      "domNodes": 12,
      "jsHeapTotalBytes": 6553600,
      "scriptDurationMs": 564.7149999999999,
      "eventListeners": 10,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3514.4450000000234,
      "styleRecalcs": 65,
      "styleRecalcDurationMs": 19.718000000000004,
      "layouts": 60,
      "layoutDurationMs": 8.062,
      "taskDurationMs": 1594.1000000000001,
      "heapDeltaBytes": 25267400,
      "heapUsedBytes": 82588756,
      "domNodes": 12,
      "jsHeapTotalBytes": 5767168,
      "scriptDurationMs": 583.429,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "minimap-idle",
      "durationMs": 1996.2080000000242,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 8.518,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 747.8430000000001,
      "heapDeltaBytes": 12199552,
      "heapUsedBytes": 68502912,
      "domNodes": 16,
      "jsHeapTotalBytes": 4456448,
      "scriptDurationMs": 135.02700000000002,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "minimap-idle",
      "durationMs": 2000.063999999952,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.854000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 682.4520000000001,
      "heapDeltaBytes": 12580768,
      "heapUsedBytes": 68457824,
      "domNodes": 18,
      "jsHeapTotalBytes": 4194304,
      "scriptDurationMs": 125.04499999999999,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 580.1789999999869,
      "styleRecalcs": 46,
      "styleRecalcDurationMs": 10.656,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 401.536,
      "heapDeltaBytes": 8994096,
      "heapUsedBytes": 68274708,
      "domNodes": 18,
      "jsHeapTotalBytes": 19922944,
      "scriptDurationMs": 121.69300000000001,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 586.7020000000593,
      "styleRecalcs": 45,
      "styleRecalcDurationMs": 9.925999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 399.24299999999994,
      "heapDeltaBytes": 7703784,
      "heapUsedBytes": 66946064,
      "domNodes": 16,
      "jsHeapTotalBytes": 19922944,
      "scriptDurationMs": 118.635,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666682,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2040.1019999999903,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.323000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 507.16400000000004,
      "heapDeltaBytes": -1400712,
      "heapUsedBytes": 57864052,
      "domNodes": 20,
      "jsHeapTotalBytes": 24641536,
      "scriptDurationMs": 18.790999999999997,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2000.678999999991,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 9.382000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 509.8,
      "heapDeltaBytes": -1370740,
      "heapUsedBytes": 57869512,
      "domNodes": 20,
      "jsHeapTotalBytes": 24641536,
      "scriptDurationMs": 21.274,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1709.3499999999722,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 40.077,
      "layouts": 16,
      "layoutDurationMs": 4.366,
      "taskDurationMs": 809.3580000000001,
      "heapDeltaBytes": -9657268,
      "heapUsedBytes": 49516716,
      "domNodes": 62,
      "jsHeapTotalBytes": 25690112,
      "scriptDurationMs": 95.92299999999999,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1689.1990000000305,
      "styleRecalcs": 77,
      "styleRecalcDurationMs": 39.00000000000001,
      "layouts": 16,
      "layoutDurationMs": 4.399,
      "taskDurationMs": 804.957,
      "heapDeltaBytes": -9726720,
      "heapUsedBytes": 49582592,
      "domNodes": 63,
      "jsHeapTotalBytes": 24641536,
      "scriptDurationMs": 98.092,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-transition-enter",
      "durationMs": 1417.9849999999874,
      "styleRecalcs": 18,
      "styleRecalcDurationMs": 32.656000000000006,
      "layouts": 14,
      "layoutDurationMs": 16.226999999999997,
      "taskDurationMs": 999.422,
      "heapDeltaBytes": 4533500,
      "heapUsedBytes": 81471700,
      "domNodes": 13673,
      "jsHeapTotalBytes": 17301504,
      "scriptDurationMs": 38.540000000000006,
      "eventListeners": 2533,
      "totalBlockingTimeMs": 162,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8987.279999999999,
      "styleRecalcs": 251,
      "styleRecalcDurationMs": 57.707,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4920.801,
      "heapDeltaBytes": 3062488,
      "heapUsedBytes": 76234148,
      "domNodes": 18,
      "jsHeapTotalBytes": 17620992,
      "scriptDurationMs": 1621.4510000000002,
      "eventListeners": 22,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.80000000000109
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8601.528000000031,
      "styleRecalcs": 251,
      "styleRecalcDurationMs": 56.33500000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4644.842000000001,
      "heapDeltaBytes": -4548620,
      "heapUsedBytes": 68595712,
      "domNodes": 20,
      "jsHeapTotalBytes": 14475264,
      "scriptDurationMs": 1489.7640000000001,
      "eventListeners": 22,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 17447.250999999993,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 17428.651,
      "heapDeltaBytes": -20948516,
      "heapUsedBytes": 166990644,
      "domNodes": -3342,
      "jsHeapTotalBytes": 15437824,
      "scriptDurationMs": 497.807,
      "eventListeners": -16379,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.77333333333336,
      "p95FrameDurationMs": 16.80000000000291
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 17707.646999999954,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 17688.979,
      "heapDeltaBytes": -36835344,
      "heapUsedBytes": 166450808,
      "domNodes": -3313,
      "jsHeapTotalBytes": 15437824,
      "scriptDurationMs": 507.59599999999995,
      "eventListeners": -16375,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 21096.509000000027,
      "styleRecalcs": 145,
      "styleRecalcDurationMs": 26.637999999999995,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 21069.858999999997,
      "heapDeltaBytes": -25049288,
      "heapUsedBytes": 164947724,
      "domNodes": -3310,
      "jsHeapTotalBytes": 17010688,
      "scriptDurationMs": 889.98,
      "eventListeners": -16371,
      "totalBlockingTimeMs": 389,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 21400.18199999997,
      "styleRecalcs": 149,
      "styleRecalcDurationMs": 27.42699999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 21374.129,
      "heapDeltaBytes": -22681576,
      "heapUsedBytes": 166425572,
      "domNodes": -3342,
      "jsHeapTotalBytes": 16748544,
      "scriptDurationMs": 852.204,
      "eventListeners": -16375,
      "totalBlockingTimeMs": 425,
      "frameDurationMs": 17.77333333333336,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "workflow-execution",
      "durationMs": 451.8269999999802,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 16.578,
      "layouts": 2,
      "layoutDurationMs": 0.379,
      "taskDurationMs": 102.26799999999999,
      "heapDeltaBytes": 5100916,
      "heapUsedBytes": 63374532,
      "domNodes": 128,
      "jsHeapTotalBytes": 1572864,
      "scriptDurationMs": 9.91,
      "eventListeners": 65,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66666666666665,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "workflow-execution",
      "durationMs": 447.4719999999479,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 19.587,
      "layouts": 3,
      "layoutDurationMs": 0.4819999999999999,
      "taskDurationMs": 107.98299999999998,
      "heapDeltaBytes": 4870444,
      "heapUsedBytes": 63379152,
      "domNodes": 117,
      "jsHeapTotalBytes": 1310720,
      "scriptDurationMs": 9.738,
      "eventListeners": 67,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    }
  ]
}

🎭 Playwright: ✅ 1711 passed, 0 failed · 1 flaky

📊 Browser Reports
  • chromium: View Report (✅ 1690 / ❌ 0 / ⚠️ 1 / ⏭️ 5)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 18 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@github-actions

Copy link
Copy Markdown

🎭 Playwright: ⏳ Running...

@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@            Coverage Diff             @@
##           core/1.47   #14236   +/-   ##
==========================================
  Coverage      78.27%   78.27%           
==========================================
  Files           1667     1667           
  Lines          93127    93128    +1     
  Branches       32239    32239           
==========================================
+ Hits           72895    72896    +1     
  Misses         19627    19627           
  Partials         605      605           
Flag Coverage Δ
unit 66.58% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/platform/telemetry/initDatadogRum.ts 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@comfy-pr-bot
comfy-pr-bot merged commit 31ad880 into core/1.47 Jul 31, 2026
65 checks passed
@comfy-pr-bot
comfy-pr-bot deleted the backport-14235-to-core-1.47 branch July 31, 2026 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Backporting a PR onto a release candidate size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants