Skip to content

Embed iongraph-web and use for iongraph.json source files#5577

Merged
mstange merged 3 commits intofirefox-devtools:mainfrom
eqrion:iongraph
Sep 2, 2025
Merged

Embed iongraph-web and use for iongraph.json source files#5577
mstange merged 3 commits intofirefox-devtools:mainfrom
eqrion:iongraph

Conversation

@eqrion
Copy link
Contributor

@eqrion eqrion commented Aug 28, 2025

Fixes #5553.

The end result looks like this:
Screenshot 2025-08-28 at 1 09 57 PM

Testing this out requires doing JIT profiling with samply and passing IONPERF=ir-graph from (the not-quite landed yet) bug 1985382.

We've got a number of issues we're trying to resolve before iongraph-web is at 'MVP'. But I wanted to get review for the integration pieces here first.

@eqrion eqrion requested a review from canova as a code owner August 28, 2025 18:18
@eqrion
Copy link
Contributor Author

eqrion commented Aug 28, 2025

Oh and one other thing that could be really useful here would be a 'fullscreen' button for the source view. Otherwise it gets a little awkward trying to move the splitters to be big enough to see the graph well.

@codecov
Copy link

codecov bot commented Aug 28, 2025

Codecov Report

❌ Patch coverage is 26.66667% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.77%. Comparing base (85ce74d) to head (9bc2f2b).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
src/components/shared/IonGraphView.tsx 0.00% 8 Missing ⚠️
src/components/app/BottomBox.tsx 57.14% 1 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5577      +/-   ##
==========================================
- Coverage   85.80%   85.77%   -0.03%     
==========================================
  Files         308      309       +1     
  Lines       30396    30410      +14     
  Branches     8361     8369       +8     
==========================================
+ Hits        26081    26085       +4     
- Misses       3895     3904       +9     
- Partials      420      421       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 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.

@canova canova requested a review from mstange September 1, 2025 09:30
Copy link
Contributor

@mstange mstange left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! My only concern was whether we should be using an async import so that we don't increase the bundle size of the main bundle. Comparing the sizes between https://main--perf-html.netlify.app/ and https://deploy-preview-5577--perf-html.netlify.app/ , it looks like the increase is from 1.56MB to 1.60MB, which probably isn't worth worrying about, so let's take this as-is.

@mstange mstange merged commit 4985862 into firefox-devtools:main Sep 2, 2025
13 of 15 checks passed
@canova canova mentioned this pull request Sep 2, 2025
canova added a commit that referenced this pull request Sep 2, 2025
Changes:

[Nazım Can Altınova] Display the marker description at the top inside
the marker tooltips (#5534)
[Florian Quèze] Change the 'JavaScript' radio button label to 'Script'
(#5530)
[Markus Stange] Implement profile logic and some selectors for the
function list (#5525)
[Markus Stange] Some small type fixes (#5538)
[Markus Stange] Simplify return type of the callback we pass to
setState. (#5540)
[Markus Stange] Pass the correct value to the reducer's action argument
(#5543)
[Markus Stange] Change withSize to accept PropsWithoutSize as its type
parameter (#5541)
[Nazım Can Altınova] Make sure that the test-debug command runs the
tests properly (#5545)
[Markus Stange] Improve type coverage involving network phases (#5539)
[Markus Stange] Change implementation of withChartViewport (#5542)
[Florian Quèze] A new permalink should be generated and shown after
using the re-upload feature. (#5547)
[Florian Quèze] Show the vertical ruler in the timeline when hovering
the network chart (#5548)
[Markus Stange] Convert the entire codebase to TypeScript (#5549)
[Nazım Can Altınova] Update the yarn.lock file after recent changes
(#5557)
[Markus Stange] Add proper TypeScript coverage for window-navigation.ts
(#5559)
[Markus Stange] Remove leftover $FlowExpectError comments (#5560)
[Markus Stange] Fix Iterator / Iterable confusion (#5561)
[Nazım Can Altınova] Remove the unneeded test-all:ci script (#5566)
[Nazım Can Altınova] Fix a type case inconsistency (#5569)
[Florian Quèze] Make 'yarn lint --fix' work as an alias to 'yarn
lint-fix'. (#5563)
[Ryan Hunt] Don't stringify JSON again in fetchUrlResponse (#5570)
[Nazım Can Altınova] Upgrade ESLint to version 9 (#5567)
[Markus Stange] Simplify Worker setup, and support .json.gz inputs in
symbolicator-cli (#5556)
[Nazım Can Altınova] Add TypeScript coverage to the intersection
observer mock (#5574)
[Markus Stange] Set the preview selection to null when there is no
selection (#5568)
[Markus Stange] Add tests for query-api.ts (#5571)
[Markus Stange] Enable noUnusedParameters and
@typescript-eslint/no-unused-vars and clean up a few more things (#5576)
[Ryan Hunt] Embed iongraph-web and use for iongraph.json source files
(#5577)
[Markus Stange] Remove recursion in filterThreadToSearchString (#5572)


And thanks to our localizers:

be: Mikalai Udodau
de: Michael Köhler
el: Jim Spentzos
en-CA: chutten
en-GB: Paul
es-CL: ravmn
fr: Théo Chevalier
fur: Fabio Tomat
fy-NL: Fjoerfoks
ia: Melo46
it: Francesco Lodolo [:flod]
nl: Mark Heijl
pt-BR: Marcelo Ghelman
ru: Valery Ledovskoy
sv-SE: Luna Jernberg
tr: Rua
tr: Selim Şumlu
uk: Іhor Hordiichuk
zh-CN: Olvcpr423
zh-TW: Pin-guang Chen
@eqrion
Copy link
Contributor Author

eqrion commented Sep 2, 2025

@mstange thanks!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adding a visualizer for SpiderMonkey MIR/LIR graphs

2 participants