Skip to content

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

Merged
comfy-pr-bot merged 1 commit into
core/1.48from
backport-14235-to-core-1.48
Aug 1, 2026
Merged

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

Conversation

@comfy-pr-bot

Copy link
Copy Markdown
Member

Backport of #14235 to core/1.48

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 31, 2026
@comfy-pr-bot
comfy-pr-bot enabled auto-merge (squash) July 31, 2026 23:46
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jul 31, 2026
@dosubot

dosubot Bot commented Jul 31, 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 31, 2026

Copy link
Copy Markdown

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 07/31/2026, 11:48:18 PM UTC

Links

📦 Bundle Size

⏳ Size data collection in progress…

⚡ Performance Report

canvas-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.3 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 51.6 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 71.7 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 53.2 MB heap
large-graph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 62.6 MB heap
large-graph-pan: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 61.7 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.6 MB heap
minimap-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.1 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 53.4 MB heap
subgraph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 55.9 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 45.5 MB heap
subgraph-transition-enter: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 130ms TBT · 95.8 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 70.0 MB heap
vue-large-graph-idle: · 55.4 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 162.3 MB heap
vue-large-graph-pan: · 56.3 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 168ms TBT · 168.8 MB heap
workflow-execution: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 48.6 MB heap

⚠️ 7 regressions detected

Show regressions
Metric Baseline PR (median) Δ Sig
canvas-idle: task duration 533ms 476ms -11% ⚠️ z=2.6
canvas-zoom-sweep: task duration 428ms 375ms -12% ⚠️ z=2.1
large-graph-idle: task duration 753ms 660ms -12% ⚠️ z=2.2
large-graph-pan: task duration 1365ms 1307ms -4% ⚠️ z=5.2
large-graph-pan: script duration 445ms 458ms +3% ⚠️ z=2.5
minimap-idle: task duration 740ms 649ms -12% ⚠️ z=2.6
subgraph-idle: task duration 475ms 453ms -5% ⚠️ z=2.6
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 10ms +24% z=-0.7
canvas-idle: layout count 0 0 +0%
canvas-idle: style recalc count 9 10 +11% z=-2.1
canvas-idle: task duration 533ms 476ms -11% ⚠️ z=2.6
canvas-idle: script duration 19ms 16ms -15% z=-4.2
canvas-idle: TBT 0ms 0ms +0%
canvas-idle: heap used 68.3 MB 68.3 MB +0%
canvas-idle: DOM nodes 18 20 +11% z=-2.0
canvas-idle: event listeners 5 4 -20% z=-1.6
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 3ms -4% z=-0.6
canvas-mouse-sweep: style recalc duration 35ms 43ms +24% z=0.2
canvas-mouse-sweep: layout count 12 12 +0%
canvas-mouse-sweep: style recalc count 75 76 +2% z=-1.1
canvas-mouse-sweep: task duration 888ms 971ms +9% z=1.8
canvas-mouse-sweep: script duration 116ms 129ms +12% z=-1.0
canvas-mouse-sweep: TBT 0ms 0ms +0%
canvas-mouse-sweep: heap used 49.2 MB 51.6 MB +5%
canvas-mouse-sweep: DOM nodes -273 -277 +1% z=-131.0
canvas-mouse-sweep: event listeners -148 -147 -1% z=-37.3
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 -11% z=0.2
canvas-zoom-sweep: style recalc duration 19ms 16ms -12% z=-1.8
canvas-zoom-sweep: layout count 6 6 +0%
canvas-zoom-sweep: style recalc count 31 32 +5% z=1.6
canvas-zoom-sweep: task duration 428ms 375ms -12% ⚠️ z=2.1
canvas-zoom-sweep: script duration 24ms 18ms -26% z=-3.0
canvas-zoom-sweep: TBT 0ms 0ms +0%
canvas-zoom-sweep: heap used 71.7 MB 71.7 MB +0%
canvas-zoom-sweep: DOM nodes 77 77 +0% z=-2.8
canvas-zoom-sweep: event listeners 19 19 +0% z=-0.9
dom-widget-clipping: avg frame time 17ms 17ms +0% z=0.1
dom-widget-clipping: p95 frame time 17ms 17ms +0%
dom-widget-clipping: layout duration 0ms 0ms +0%
dom-widget-clipping: style recalc duration 7ms 8ms +14% z=-1.8
dom-widget-clipping: layout count 0 0 +0%
dom-widget-clipping: style recalc count 12 13 +4% z=-1.2
dom-widget-clipping: task duration 366ms 373ms +2% z=0.5
dom-widget-clipping: script duration 55ms 59ms +8% z=-2.8
dom-widget-clipping: TBT 0ms 0ms +0%
dom-widget-clipping: heap used 53.2 MB 53.2 MB -0%
dom-widget-clipping: DOM nodes 20 21 +5% z=-0.8
dom-widget-clipping: event listeners 0 1 variance too high
large-graph-idle: avg frame time 17ms 17ms +0% z=-0.2
large-graph-idle: p95 frame time 17ms 17ms -1%
large-graph-idle: layout duration 0ms 0ms +0%
large-graph-idle: style recalc duration 7ms 8ms +14% z=-3.6
large-graph-idle: layout count 0 0 +0%
large-graph-idle: style recalc count 9 9 +6% z=-8.3
large-graph-idle: task duration 753ms 660ms -12% ⚠️ z=2.2
large-graph-idle: script duration 111ms 102ms -8% z=-0.0
large-graph-idle: TBT 0ms 0ms +0%
large-graph-idle: heap used 63.5 MB 62.6 MB -1%
large-graph-idle: DOM nodes -276 -276 +0% z=-332.7
large-graph-idle: event listeners -144 -144 +0% z=-27.9
large-graph-pan: avg frame time 17ms 17ms -0% z=0.3
large-graph-pan: p95 frame time 17ms 17ms +0%
large-graph-pan: layout duration 0ms 0ms +0%
large-graph-pan: style recalc duration 15ms 13ms -16% z=-5.7
large-graph-pan: layout count 0 0 +0%
large-graph-pan: style recalc count 68 68 -1% z=-3.2
large-graph-pan: task duration 1365ms 1307ms -4% ⚠️ z=5.2
large-graph-pan: script duration 445ms 458ms +3% ⚠️ z=2.5
large-graph-pan: TBT 0ms 0ms +0%
large-graph-pan: heap used 58.0 MB 61.7 MB +6%
large-graph-pan: DOM nodes -279 -278 -1% z=-179.7
large-graph-pan: event listeners -144 -143 -1% z=-178.6
large-graph-zoom: avg frame time 17ms 17ms +0%
large-graph-zoom: p95 frame time 17ms 17ms -0%
large-graph-zoom: layout duration 9ms 7ms -17%
large-graph-zoom: style recalc duration 17ms 19ms +15%
large-graph-zoom: layout count 60 60 +0%
large-graph-zoom: style recalc count 65 65 -1%
large-graph-zoom: task duration 1617ms 1508ms -7%
large-graph-zoom: script duration 559ms 552ms -1%
large-graph-zoom: TBT 0ms 0ms +0%
large-graph-zoom: heap used 59.1 MB 68.6 MB +16%
large-graph-zoom: DOM nodes -281 -135 -52%
large-graph-zoom: event listeners -148 -70 -53%
minimap-idle: avg frame time 17ms 17ms +0% z=0.1
minimap-idle: p95 frame time 17ms 17ms +0%
minimap-idle: layout duration 0ms 0ms +0%
minimap-idle: style recalc duration 7ms 7ms -1% z=-2.9
minimap-idle: layout count 0 0 +0%
minimap-idle: style recalc count 8 8 +0% z=-2.3
minimap-idle: task duration 740ms 649ms -12% ⚠️ z=2.6
minimap-idle: script duration 112ms 100ms -11% z=0.1
minimap-idle: TBT 0ms 0ms +0%
minimap-idle: heap used 64.0 MB 64.1 MB +0%
minimap-idle: DOM nodes -277 -277 +0% z=-216.5
minimap-idle: event listeners -143 -145 +1% z=-226.5
subgraph-dom-widget-clipping: avg frame time 17ms 17ms -0% z=-0.4
subgraph-dom-widget-clipping: p95 frame time 17ms 17ms +1%
subgraph-dom-widget-clipping: layout duration 0ms 0ms +0%
subgraph-dom-widget-clipping: style recalc duration 9ms 11ms +17% z=-1.8
subgraph-dom-widget-clipping: layout count 0 0 +0%
subgraph-dom-widget-clipping: style recalc count 45 47 +4% z=-1.6
subgraph-dom-widget-clipping: task duration 416ms 403ms -3% z=1.3
subgraph-dom-widget-clipping: script duration 122ms 122ms -0% z=-1.0
subgraph-dom-widget-clipping: TBT 0ms 0ms +0%
subgraph-dom-widget-clipping: heap used 53.6 MB 53.4 MB -0%
subgraph-dom-widget-clipping: DOM nodes 16 20 +25% z=-1.9
subgraph-dom-widget-clipping: event listeners 7 6 -14% z=-1.7
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 7ms 8ms +6% z=-3.6
subgraph-idle: layout count 0 0 +0%
subgraph-idle: style recalc count 10 9 -5% z=-2.9
subgraph-idle: task duration 475ms 453ms -5% ⚠️ z=2.6
subgraph-idle: script duration 12ms 13ms +2% z=-2.9
subgraph-idle: TBT 0ms 0ms +0%
subgraph-idle: heap used 55.9 MB 55.9 MB -0%
subgraph-idle: DOM nodes 19 18 -5% z=-2.5
subgraph-idle: event listeners 4 4 +0% variance too high
subgraph-mouse-sweep: avg frame time 17ms 17ms +0% z=0.8
subgraph-mouse-sweep: p95 frame time 17ms 17ms -0%
subgraph-mouse-sweep: layout duration 4ms 4ms -4% z=-2.4
subgraph-mouse-sweep: style recalc duration 35ms 35ms -0% z=-2.2
subgraph-mouse-sweep: layout count 16 16 +0%
subgraph-mouse-sweep: style recalc count 77 76 -1% z=-2.4
subgraph-mouse-sweep: task duration 793ms 792ms -0% z=0.4
subgraph-mouse-sweep: script duration 87ms 92ms +5% z=-1.4
subgraph-mouse-sweep: TBT 0ms 0ms +0%
subgraph-mouse-sweep: heap used 45.5 MB 45.5 MB -0%
subgraph-mouse-sweep: DOM nodes -274 -272 -1% z=-151.5
subgraph-mouse-sweep: event listeners -148 -148 +0% variance too high
subgraph-transition-enter: avg frame time 17ms 17ms -0%
subgraph-transition-enter: p95 frame time 17ms 17ms +0%
subgraph-transition-enter: layout duration 11ms 13ms +14%
subgraph-transition-enter: style recalc duration 29ms 31ms +5%
subgraph-transition-enter: layout count 14 15 +7%
subgraph-transition-enter: style recalc count 18 19 +6%
subgraph-transition-enter: task duration 922ms 905ms -2%
subgraph-transition-enter: script duration 47ms 33ms -31%
subgraph-transition-enter: TBT 114ms 130ms +14%
subgraph-transition-enter: heap used 89.0 MB 95.8 MB +8%
subgraph-transition-enter: DOM nodes 13673 13673 +0%
subgraph-transition-enter: event listeners 2371 2371 +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 43ms 36ms -15%
viewport-pan-sweep: layout count 0 0 +0%
viewport-pan-sweep: style recalc count 249 250 +1%
viewport-pan-sweep: task duration 4864ms 4388ms -10%
viewport-pan-sweep: script duration 1431ms 1384ms -3%
viewport-pan-sweep: TBT 0ms 0ms +0%
viewport-pan-sweep: heap used 62.0 MB 70.0 MB +13%
viewport-pan-sweep: DOM nodes -278 -276 -1%
viewport-pan-sweep: event listeners -128 -128 +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 17537ms 16949ms -3%
vue-large-graph-idle: script duration 588ms 549ms -7%
vue-large-graph-idle: TBT 0ms 0ms +0%
vue-large-graph-idle: heap used 161.2 MB 162.3 MB +1%
vue-large-graph-idle: DOM nodes -8312 -8312 +0%
vue-large-graph-idle: event listeners -16387 -16387 +0%
vue-large-graph-pan: avg frame time 18ms 18ms -2%
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 22ms 16ms -26%
vue-large-graph-pan: layout count 0 0 +0%
vue-large-graph-pan: style recalc count 155 139 -11%
vue-large-graph-pan: task duration 21844ms 20414ms -7%
vue-large-graph-pan: script duration 883ms 871ms -1%
vue-large-graph-pan: TBT 444ms 168ms -62%
vue-large-graph-pan: heap used 159.7 MB 168.8 MB +6%
vue-large-graph-pan: DOM nodes -8312 -8312 +0%
vue-large-graph-pan: event listeners -16382 -16384 +0%
workflow-execution: avg frame time 17ms 17ms +0% z=1.1
workflow-execution: p95 frame time 17ms 17ms +0%
workflow-execution: layout duration 1ms 1ms +3% z=-6.6
workflow-execution: style recalc duration 19ms 18ms -6% z=-3.0
workflow-execution: layout count 3 3 +0% z=-4.5
workflow-execution: style recalc count 14 12 -11% z=-2.8
workflow-execution: task duration 113ms 108ms -4% z=-1.3
workflow-execution: script duration 10ms 10ms -7% z=-6.6
workflow-execution: TBT 0ms 0ms +0%
workflow-execution: heap used 48.6 MB 48.6 MB +0%
workflow-execution: DOM nodes 125 123 -2% z=-5.4
workflow-execution: event listeners 65 66 +2% 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-31T23:58:50.504Z",
  "gitSha": "63543d5bce370d85bca3e6e3534ac54b42935888",
  "branch": "backport-14235-to-core-1.48",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2053.5449999999855,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 11.937999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 483.87,
      "heapDeltaBytes": 3728732,
      "heapUsedBytes": 71663424,
      "domNodes": 20,
      "jsHeapTotalBytes": 20578304,
      "scriptDurationMs": 16.612999999999996,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-idle",
      "durationMs": 2024.0640000000099,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 8.423,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 468.97600000000006,
      "heapDeltaBytes": 3678052,
      "heapUsedBytes": 71661024,
      "domNodes": 20,
      "jsHeapTotalBytes": 20840448,
      "scriptDurationMs": 15.118,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 2173.2000000000085,
      "styleRecalcs": 77,
      "styleRecalcDurationMs": 49.162,
      "layouts": 12,
      "layoutDurationMs": 3.4579999999999997,
      "taskDurationMs": 1088.32,
      "heapDeltaBytes": -13496148,
      "heapUsedBytes": 54442532,
      "domNodes": -278,
      "jsHeapTotalBytes": 21491712,
      "scriptDurationMs": 137.51999999999998,
      "eventListeners": -146,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1855.9589999999844,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 37.429,
      "layouts": 12,
      "layoutDurationMs": 3.5319999999999996,
      "taskDurationMs": 853.135,
      "heapDeltaBytes": -14156668,
      "heapUsedBytes": 53726948,
      "domNodes": -275,
      "jsHeapTotalBytes": 21229568,
      "scriptDurationMs": 120.94,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1739.2790000000105,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 16.423000000000002,
      "layouts": 6,
      "layoutDurationMs": 0.6199999999999999,
      "taskDurationMs": 370.65899999999993,
      "heapDeltaBytes": 7224016,
      "heapUsedBytes": 75275868,
      "domNodes": 77,
      "jsHeapTotalBytes": 20316160,
      "scriptDurationMs": 17.884999999999998,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1770.6089999999222,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 16.315,
      "layouts": 6,
      "layoutDurationMs": 0.685,
      "taskDurationMs": 379.401,
      "heapDeltaBytes": 7276204,
      "heapUsedBytes": 75130784,
      "domNodes": 77,
      "jsHeapTotalBytes": 19791872,
      "scriptDurationMs": 18.057999999999996,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 580.5100000000039,
      "styleRecalcs": 13,
      "styleRecalcDurationMs": 8.467,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 370.29200000000003,
      "heapDeltaBytes": -12079784,
      "heapUsedBytes": 55839420,
      "domNodes": 22,
      "jsHeapTotalBytes": 21889024,
      "scriptDurationMs": 57.172,
      "eventListeners": 2,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 576.4849999999342,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 8.486,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 375.772,
      "heapDeltaBytes": -12019448,
      "heapUsedBytes": 55761000,
      "domNodes": 20,
      "jsHeapTotalBytes": 20316160,
      "scriptDurationMs": 60.361999999999995,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2038.485000000037,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.538999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 660.101,
      "heapDeltaBytes": 6937360,
      "heapUsedBytes": 65662852,
      "domNodes": -275,
      "jsHeapTotalBytes": 4259840,
      "scriptDurationMs": 101.798,
      "eventListeners": -144,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2030.4810000000089,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.397000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 659.6479999999999,
      "heapDeltaBytes": 6850660,
      "heapUsedBytes": 65668884,
      "domNodes": -277,
      "jsHeapTotalBytes": 4521984,
      "scriptDurationMs": 102.738,
      "eventListeners": -144,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2198.108999999988,
      "styleRecalcs": 68,
      "styleRecalcDurationMs": 13.255999999999997,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1342.489,
      "heapDeltaBytes": 3563864,
      "heapUsedBytes": 63730664,
      "domNodes": -275,
      "jsHeapTotalBytes": 4726784,
      "scriptDurationMs": 490.89500000000004,
      "eventListeners": -142,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2156.596000000036,
      "styleRecalcs": 67,
      "styleRecalcDurationMs": 12.253999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1270.748,
      "heapDeltaBytes": 4695072,
      "heapUsedBytes": 65637784,
      "domNodes": -280,
      "jsHeapTotalBytes": 4726784,
      "scriptDurationMs": 426.071,
      "eventListeners": -144,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3079.6100000000024,
      "styleRecalcs": 64,
      "styleRecalcDurationMs": 14.854,
      "layouts": 60,
      "layoutDurationMs": 7.233,
      "taskDurationMs": 1432.739,
      "heapDeltaBytes": 19717544,
      "heapUsedBytes": 81178296,
      "domNodes": 12,
      "jsHeapTotalBytes": 7864320,
      "scriptDurationMs": 517.5079999999999,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3230.0989999999956,
      "styleRecalcs": 65,
      "styleRecalcDurationMs": 24.124999999999996,
      "layouts": 60,
      "layoutDurationMs": 6.982,
      "taskDurationMs": 1583.2469999999998,
      "heapDeltaBytes": 1122784,
      "heapUsedBytes": 62757544,
      "domNodes": -282,
      "jsHeapTotalBytes": 8716288,
      "scriptDurationMs": 587.28,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "minimap-idle",
      "durationMs": 2013.7339999999995,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.217000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 647.2360000000001,
      "heapDeltaBytes": 6084120,
      "heapUsedBytes": 67032612,
      "domNodes": -278,
      "jsHeapTotalBytes": 5046272,
      "scriptDurationMs": 98.027,
      "eventListeners": -146,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "minimap-idle",
      "durationMs": 2027.2819999999,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.1549999999999985,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 651.4540000000001,
      "heapDeltaBytes": 6488392,
      "heapUsedBytes": 67393064,
      "domNodes": -276,
      "jsHeapTotalBytes": 3473408,
      "scriptDurationMs": 101.014,
      "eventListeners": -144,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 617.0769999999948,
      "styleRecalcs": 48,
      "styleRecalcDurationMs": 12.516000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 419.00100000000003,
      "heapDeltaBytes": -12485816,
      "heapUsedBytes": 55909148,
      "domNodes": 22,
      "jsHeapTotalBytes": 22413312,
      "scriptDurationMs": 123.567,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 560.7939999999871,
      "styleRecalcs": 46,
      "styleRecalcDurationMs": 9.472999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 386.43300000000005,
      "heapDeltaBytes": -11810292,
      "heapUsedBytes": 56149440,
      "domNodes": 18,
      "jsHeapTotalBytes": 21889024,
      "scriptDurationMs": 120.577,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2030.9680000000299,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.586,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 473.64900000000006,
      "heapDeltaBytes": -22202308,
      "heapUsedBytes": 45827736,
      "domNodes": 18,
      "jsHeapTotalBytes": 20180992,
      "scriptDurationMs": 13.236999999999998,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "subgraph-idle",
      "durationMs": 1995.997999999986,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.542,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 432.4410000000001,
      "heapDeltaBytes": 3437336,
      "heapUsedBytes": 71366728,
      "domNodes": 18,
      "jsHeapTotalBytes": 20578304,
      "scriptDurationMs": 11.886999999999999,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1689.483999999993,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 35.841,
      "layouts": 16,
      "layoutDurationMs": 4.03,
      "taskDurationMs": 793.2909999999999,
      "heapDeltaBytes": -19939732,
      "heapUsedBytes": 48026620,
      "domNodes": -271,
      "jsHeapTotalBytes": 20967424,
      "scriptDurationMs": 91.685,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1710.164000000077,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 34.748999999999995,
      "layouts": 16,
      "layoutDurationMs": 3.8130000000000006,
      "taskDurationMs": 790.18,
      "heapDeltaBytes": -20773128,
      "heapUsedBytes": 47318548,
      "domNodes": -272,
      "jsHeapTotalBytes": 20443136,
      "scriptDurationMs": 91.929,
      "eventListeners": -148,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-transition-enter",
      "durationMs": 1367.586000000017,
      "styleRecalcs": 19,
      "styleRecalcDurationMs": 30.80799999999999,
      "layouts": 15,
      "layoutDurationMs": 12.939000000000002,
      "taskDurationMs": 904.963,
      "heapDeltaBytes": 7116056,
      "heapUsedBytes": 100429812,
      "domNodes": 13673,
      "jsHeapTotalBytes": 12845056,
      "scriptDurationMs": 32.694,
      "eventListeners": 2371,
      "totalBlockingTimeMs": 130,
      "frameDurationMs": 16.66333333333332,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8223.662000000048,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 36.398,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4390.5,
      "heapDeltaBytes": 21808896,
      "heapUsedBytes": 80835320,
      "domNodes": -277,
      "jsHeapTotalBytes": 6561792,
      "scriptDurationMs": 1384.507,
      "eventListeners": -128,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8227.259000000004,
      "styleRecalcs": 250,
      "styleRecalcDurationMs": 35.78000000000001,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4386.361,
      "heapDeltaBytes": 7046556,
      "heapUsedBytes": 65955772,
      "domNodes": -275,
      "jsHeapTotalBytes": 6008832,
      "scriptDurationMs": 1383.5349999999999,
      "eventListeners": -128,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333338,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 17047.578000000045,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 16999.578,
      "heapDeltaBytes": -51869508,
      "heapUsedBytes": 171329152,
      "domNodes": -8312,
      "jsHeapTotalBytes": -7274496,
      "scriptDurationMs": 566.922,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.780000000000047,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 16925.124999999978,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 16898.249999999996,
      "heapDeltaBytes": -41351924,
      "heapUsedBytes": 169074684,
      "domNodes": -8312,
      "jsHeapTotalBytes": -13045760,
      "scriptDurationMs": 531.565,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 18.329999999999927,
      "p95FrameDurationMs": 16.80000000000291
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 20513.486999999997,
      "styleRecalcs": 138,
      "styleRecalcDurationMs": 16.375,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 20479.059000000005,
      "heapDeltaBytes": -30445668,
      "heapUsedBytes": 177684348,
      "domNodes": -8312,
      "jsHeapTotalBytes": -12345344,
      "scriptDurationMs": 879.106,
      "eventListeners": -16381,
      "totalBlockingTimeMs": 222,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 20397.638000000028,
      "styleRecalcs": 139,
      "styleRecalcDurationMs": 15.67099999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 20349.349000000002,
      "heapDeltaBytes": -32252616,
      "heapUsedBytes": 176387012,
      "domNodes": -8312,
      "jsHeapTotalBytes": -11296768,
      "scriptDurationMs": 862.057,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 113,
      "frameDurationMs": 17.77333333333336,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "workflow-execution",
      "durationMs": 455.5279999999584,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 16.909,
      "layouts": 3,
      "layoutDurationMs": 0.6900000000000001,
      "taskDurationMs": 112.511,
      "heapDeltaBytes": -16009388,
      "heapUsedBytes": 50987676,
      "domNodes": 128,
      "jsHeapTotalBytes": 7208960,
      "scriptDurationMs": 9.556000000000001,
      "eventListeners": 67,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "workflow-execution",
      "durationMs": 457.74900000003527,
      "styleRecalcs": 12,
      "styleRecalcDurationMs": 18.397999999999996,
      "layouts": 2,
      "layoutDurationMs": 0.48299999999999993,
      "taskDurationMs": 104.41900000000001,
      "heapDeltaBytes": -16023736,
      "heapUsedBytes": 51024292,
      "domNodes": 117,
      "jsHeapTotalBytes": 7995392,
      "scriptDurationMs": 9.779,
      "eventListeners": 65,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    }
  ]
}

🎭 Playwright: ✅ 1763 passed, 0 failed

📊 Browser Reports
  • chromium: View Report (✅ 1742 / ❌ 0 / ⚠️ 0 / ⏭️ 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 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@             Coverage Diff             @@
##           core/1.48   #14519    +/-   ##
===========================================
  Coverage      79.32%   79.32%            
===========================================
  Files           1746     1746            
  Lines          99332    99333     +1     
  Branches       31841    32589   +748     
===========================================
+ Hits           78798    78799     +1     
  Misses         20132    20132            
  Partials         402      402            
Flag Coverage Δ
unit 69.14% <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 625f125 into core/1.48 Aug 1, 2026
75 checks passed
@comfy-pr-bot
comfy-pr-bot deleted the backport-14235-to-core-1.48 branch August 1, 2026 00:19
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.

4 participants