文件历史

提交图

17 次代码提交

作者 SHA1 备注 提交日期
Dominik Inführ 76fd242498 feat: Filter heap snapshot objects by native context (#2377)
get_heapsnapshot_details can filter objects in the heap snapshot by
their native context.
2026-07-17 08:55:08 +00:00
Dominik Inführ 8432cb97a2 feat: Add get_heapsnapshot_object_details MCP tool (#2374)
Add a get_heapsnapshot_object_details MCP tool which lets the agent
query all known information about a node in the heap snapshot.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-07-16 11:23:43 +00:00
Dominik Inführ f78a911dc0 feat: Emit native contexts in snapshot summary (#2375)
Emits native contexts and their sizes with the get_heapsnapshot_summary
MCP tool. This should help the agent get an overview about which native
contexts consume the most memory.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-07-16 11:16:00 +00:00
dependabot[bot] 9a7e04daa2 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1652307 to 1.0.1660788 in the bundled-devtools group across 1 directory (#2299)
Bumps the bundled-devtools group with 1 update in the / directory:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1652307 to 1.0.1656897
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a5ae2f34eb11c5c58a460e6930b6bce270a3121b"><code>a5ae2f3</code></a>
Use lit-html in ServiceWorkersView.ts</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/251a23abd90438b2f2bb33961e894fe0b4452057"><code>251a23a</code></a>
Refactor ElementsPanel dependency injection and clean up
DOMModel.cancelSearch</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8382f01f7b9644b98beb1fa335fac9f511f16139"><code>8382f01</code></a>
[global-state] Fix FrameManager access in DOMNode</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/78704b2ecc77051877bd7f805eed1bf6f88d0ff9"><code>78704b2</code></a>
[Sheriff]: Fix a couple of flaky tests.</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8b198ec693b44abe00d41a5bca65639bda55180b"><code>8b198ec</code></a>
Roll browser-protocol and CfT</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/430a8bdfa2c06e2f4e974f0dade1e0cfd8bf4e88"><code>430a8bd</code></a>
[global-state] Remove static instance from SimpleAppProvider</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/137dae29bacbf164674a578eb5592cb12308e141"><code>137dae2</code></a>
[global-state] Stash CrUXManager on DevToolsContext and add to
universe</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/4f881fd9caf41e7416b03397892c17e3e9f93d0a"><code>4f881fd</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/d46071e5459a66871e38b89ac11d5573ad2ed4fb"><code>d46071e</code></a>
Make SourceMapCache instantiable instead of a singleton</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/466be4a9e6a4db8867f8c04e034d3383f624d99f"><code>466be4a</code></a>
Roll browser-protocol and CfT</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1652307...v1.0.1656897">compare
view</a></li>
</ul>
</details>
<br />

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikolay Vitkov <nvitkov@chromium.org>
2026-07-15 13:05:34 +00:00
Dominik Inführ 15a6b789da feat: Print object count and total sizes in get_heapsnapshot_details (#2325)
This emits object count and total shallow sizes for
get_heapsnapshot_details.
2026-07-09 10:33:34 +00:00
Dominik Inführ 2812902ba9 feat: Support filter with heap snapshots aggregates (#2323)
This exposes DevTools named filters in get_heapsnapshot_details and
get_heapsnapshot_class_nodes tools. This allows the client to list e.g.
all objects retained through detached DOM objects.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-07-09 09:08:29 +00:00
Dominik Inführ 67a56c0557 feat: Add get_heapsnapshot_duplicate_strings MCP tool (#2280)
This PR adds a new MCP tool to find duplicated strings in the heap
snapshot.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-07-03 10:01:26 +00:00
Dominik Inführ 3f4a49a89a refactor: Merge MCP tools for comparing heap snapshots (#2281)
Instead of two separate MCP tools, we can have one instead which takes
classIndex as optional argument.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-07-02 13:26:36 +00:00
Dominik Inführ 5d7b656050 feat: Add MCP tools for heap snapshot comparison (#2198)
This commit adds two MCP tools for comparing heap snapshots.
`compare_heapsnapshot_summary` compares two memory snapshot and returns
which classes have new/deleted objects.
`compare_heapsnapshot_class_nodes` can then be used to list the object
ids added and deleted for a specific class.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-06-30 13:24:21 +00:00
Dominik Inführ 08c234ea4b feat: Add get_heapsnapshot_dominators MCP tool (#2215)
Adding the get_heapsnapshot_dominators MCP tool to show the dominators
for a given node. In combination with get_heapsnapshot_retaining_paths
this should help understand what keeps an object reachable and thus
alive.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
Co-authored-by: Nicholas Roscino <nroscino@google.com>
2026-06-16 12:07:41 +00:00
Dominik Inführ 4f8eb7ad6b feat: Add the get_heapsnapshot_edges MCP tool (#2180)
This PR adds the get_heapsnapshot_edges MCP tool. Agents can use it to
look at the outgoing edges for a specifc object.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-06-09 19:58:43 +00:00
Dominik Inführ a97c642d43 feat: Add retaining paths MCP tool (#2187)
This PR adds the `get_heapsnapshot_retaining_paths` MCP tool. This can
be used to find the paths from the target object to the GC roots which
keep that object alive.

Co-authored-by: Dominik Inführ <dinfuehr@chromium.org>
2026-06-09 12:53:30 +00:00
Nikolay Vitkov 32dc50d59b chore(memory): update names and exposed information (#2079)
Update the tools to all include the `heapsnapshot` term for easier
handling.
Renames UID to ID to reduce confusion with the snapshot UIDs.
Renames Id to NodeId to better differentiate from the base Id.
Remove EdgeIndex as it was not useful.

Closes:
https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1970
2026-05-18 16:49:41 +00:00
Nikolay Vitkov b2b05a0670 chore(memory): expose retainer logic (#2056)
Allows the LLM to query the heapsnapshot further to understand what the
retainer path logic.
2026-05-18 09:54:00 +00:00
Nikolay Vitkov 66dacb83fd chore(memory): sort all by retainer size (#1963)
This is a better measurement as if object self size is X and the
retainerSize Y. X will always be smaller then Y, there Y will be the
actual size on the Heap.
2026-04-28 14:32:04 +00:00
Nikolay Vitkov 9f5dd6229c chore(memory): expose way to get the nodes (#1916)
The next step for the memory debugging is to provide the nodes that the
aggregates have, from which you can get the retainers of the object.
2026-04-23 09:44:06 +00:00
Nikolay Vitkov 9211c6b52d chore(memory): expose a tool for getting the inital data. (#1909)
This refactors the code to extract the Id logic from the PageCollector
and provide it in the heapsnapshot.
We need to use an UID as we need the internal ClassKey to query the
heapsnapshot, but that is a strange string (usually looking like
`,ClassName`) which may get the LLM confused as we use comma separated
output.
2026-04-20 18:39:48 +00:00