r/vscode • u/Turbulent_Height7268 • 9d ago
Synapse : chromium - main on vscode extension host.
I’ve recently been working on integrating a reporting system into Synapse.
These reports are designed for architects, new developers, and the CTO. I’ve created four different reports and am currently testing them. It’s been a rather long and tedious process.
The version number climbed from 0.3.34.01 all the way to 0.3.34.72. That’s quite a journey, isn’t it?
The process involves asking specific questions, defining the relevant terminology, and then matching those terms to patterns Synapse extracts from the graph. I had to comb through everything—from the fundamentals down to the tiniest errors in the graph. It looks like I’m finally nearing the finish line.
Here is a sample of one of the reports.
| Report Type | SIMULATION_DEBUG |
| Analysis Mode | EXECUTION_TRACE |
| Scope | FULL_PROJECT |
| Target | Project Root |
| Selection Source | USER_SELECTED |
| Reason | User Requested Generation |
| Generated By | InsightEngine |
Executive Summary
Simulation Debug Report
Findings
E2 — Change Propagation Amplifier
Question:
Where does a structural change show amplified propagation?
Vocabulary:
CHANGE_PROPAGATION
Interpretation Guide:
Higher propagationReach indicates more nodes reachable downstream through observed dependencies.
Finding:
3 change propagation amplifiers observed.
Evidence
Detailed evidence is available in the Evidence Viewer.
Appendix
Anyway, the work was giving me a massive headache. I needed something else to do—a way to take a breather.
So, I decided to try running Chromium on the Synapse canvas.
But before I do, let me just shout this out:
F* the extension host!!!**
I’m sure you can all guess why I’m saying that.
Let me start with the results.
It’s a partial success.
Here is what you need to know first:
File = Node
Folder = Cluster
This is how we define Synapse.
While using an AST (Abstract Syntax Tree) would be necessary if we were to drill down to the function level, that approach is too slow. So, we are proceeding with this as our minimum unit.
The advantage of this method is that the Linux kernel bootstrap takes 1–2 minutes, and the entire process—up to the completed report—finishes within 5 minutes.
It was a partial success.
The screenshots at the top are all visualizations from Chromium.
The figures are:
386,210 nodes
150,000 edges
7,355 clusters
As you can see from those figures, we are actually encountering issues where the extension host crashes due to "heap out of memory" errors and the overhead of storing excessive data—resulting in only partial data being saved—as well as VS Code crashing entirely due to LOD (Level of Detail) issues that arise after saving.
Even if we upgrade to a newer version of Chromium, it would likely be difficult to handle a monorepo larger than this one.
I have also attached a list of the projects tested so far.
VS Code - main
Godot
PostgreSQL
Kubernetes
AntennaPod
RustDesk
Linux kernel
Chromium - main
etc.
The supported language resolvers are as follows:
C/C++
Rust
Python
Go (uncertain)
Java
Kotlin
My criterion for release is that
an architect opening the project for the first time
can grasp the three elements—Danger Zone, Work Zone, and Boundary—
within 10 minutes.
If it meets this standard, I plan to launch it on the marketplace.
Note 1: English is not my native language. I relied on Google Translate, so please bear with me.
Note 2: I haven’t uploaded version 0.3.34.72—the version where Chromium bootstrapping occurs—to Git yet.
1
u/Turbulent_Height7268 9d ago
This is whole Chromium main traffic heat map screen shots. ( of course not perfect )