Skip to content

feat(issues): Render flamegraph attachments in issue details - #126461

Draft
philprime wants to merge 1 commit into
masterfrom
philprime/feat/flamegraph-attachment-ui
Draft

philprime wants to merge 1 commit into
masterfrom
philprime/feat/flamegraph-attachment-ui

Conversation

@philprime

@philprime philprime commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Adds a dedicated Flamegraph section to issue details when an event has a version-1 event.flamegraph attachment. It uses the existing attachment listing and download endpoints, with loading, explicit retry, and unsupported-format handling. The section is gated by event-attachments and flamegraph-attachments.

The viewer reuses the profiling canvas, theme, hover tooltips, and scrolling used by MetricKit flamegraphs without changing the existing MetricKit implementation. A separate adapter converts attachment nodes into weighted paths, preserving inclusive counts, samples ending at intermediate nodes, repeated frames, and recursion. Multiple attachments and call trees can be selected independently. Unclassified frames use the system-frame color.

Backend prerequisite: #126459. Land the backend first so the feature flag is exposed to the UI.

The 33 focused tests include the existing MetricKit and view-hierarchy suites. Full frontend typechecking and lint passed. Playwright verification against a local event attachment confirmed a painted canvas, independent tree counts, hover tooltips, scrolling, and collapse persistence. Diagnostic payloads and browser artifacts are not included.

Download version-1 flamegraph attachments and adapt their independent call trees to the existing

count-based profiling visualization. Keep MetricKit rendering unchanged and gate the new viewer

behind the flamegraph attachment feature flag.
@philprime philprime self-assigned this Oct 5, 2026
@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Story previews

Preview the stories changed in this PR on the Vercel deployment:

Preview deployment: https://sentry-5iu4weiti.sentry.dev

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

Metric Before After Delta
Coverage 95.68% 95.68% ±0%
Typed 142,444 142,513 🟢 +69
Untyped 6,427 6,434 🔴 +7
🔍 7 new type safety issues introduced

any-typed symbols (3 new)

File Line Detail
static/app/components/events/flamegraphAttachment/utils.ts 60 frame (var)
static/app/components/events/flamegraphAttachment/utils.ts 85 tree (var)
static/app/components/events/flamegraphAttachment/utils.ts 120 child (var)

Non-null assertions (!) (2 new)

File Line Detail
static/app/components/events/flamegraphAttachment/index.tsx 34 data.trees[selectedTree]!
static/app/components/events/flamegraphAttachment/utils.ts 160 children[index]!

Type assertions (as) (2 new)

File Line Detail
static/app/components/events/flamegraphAttachment/utils.ts 139 as FlamegraphAttachmentData — payload as FlamegraphAttachmentData
static/app/components/events/flamegraphAttachment/utils.ts 148 as number[] — [] as number[]

This is informational only and does not block the PR.

This branch was successfully deployed

1 active deployment
Preview — c37e4236 Deployed Oct 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant