Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
c3a78c2
first drafts
leahmsft Oct 22, 2025
5d656ab
removed stale photos
leahmsft Oct 22, 2025
34a1d1f
image dir name
mikehoffms Oct 23, 2025
2f4460d
build errs
mikehoffms Oct 23, 2025
4056721
flag "enhanced"
mikehoffms Oct 23, 2025
1e197c0
Load Profile buttons png
mikehoffms Oct 23, 2025
6e616ae
alt text
mikehoffms Oct 23, 2025
2dc9c82
break up para
mikehoffms Oct 23, 2025
0568e2c
addressed PR comments
leahmsft Nov 3, 2025
0627925
add png of the save performance trace dialog
leahmsft Nov 3, 2025
d46bafc
update script content to resource content to align with last minute c…
leahmsft Nov 3, 2025
e4ba3fb
writer/editor pass mon
mikehoffms Nov 3, 2025
fa9d3d3
Merge branch 'user/leahtu/enhanced-traces-update' of https://github.c…
mikehoffms Nov 4, 2025
996f538
annot link
mikehoffms Nov 4, 2025
a058311
linkfix
mikehoffms Nov 4, 2025
2a0f5e8
open a trace
mikehoffms Nov 4, 2025
906c263
task-oriented titles
mikehoffms Nov 4, 2025
8f5126b
linkfix
mikehoffms Nov 4, 2025
dad87c8
Open a performance trace file
mikehoffms Nov 4, 2025
4f5d9ed
context of checkbox location
mikehoffms Nov 4, 2025
2cedede
just enter 1 task
mikehoffms Nov 4, 2025
95f259f
tabs>tools
mikehoffms Nov 4, 2025
9de61c7
del todo
mikehoffms Nov 4, 2025
2b77065
link to snippets & 2 tools
mikehoffms Nov 4, 2025
bc133b4
Merge branch 'main' into user/leahtu/enhanced-traces-update
mikehoffms Nov 5, 2025
cba66ef
update png and content for loading a trace
leahmsft Nov 6, 2025
26575e6
update saving perf trace png
leahmsft Nov 6, 2025
9baaaef
reflag png todos
mikehoffms Nov 6, 2025
777ddf8
tooltips todo
mikehoffms Nov 7, 2025
5e9b2f7
Merge branch 'main' into user/leahtu/enhanced-traces-update
mikehoffms Nov 7, 2025
add1b3e
Merge branch 'main' into user/leahtu/enhanced-traces-update
mikehoffms Nov 13, 2025
13c948d
add a section for setting memory default export type and pngs
leahmsft Nov 17, 2025
388ea41
pngs
mikehoffms Nov 17, 2025
24caec3
Merge branch 'user/leahtu/enhanced-traces-update' of https://github.c…
mikehoffms Nov 17, 2025
b934d7a
straggler png
mikehoffms Nov 17, 2025
01cd0b8
h4
mikehoffms Nov 17, 2025
9bd4ecc
remove todos
mikehoffms Nov 17, 2025
d2e31b5
file types saving/opening
mikehoffms Nov 18, 2025
1954c87
Merge branch 'main' into user/leahtu/enhanced-traces-update
mikehoffms Nov 26, 2025
eaa74cb
ms.topic: article
mikehoffms Nov 26, 2025
ca24ff5
ms.topic: article
mikehoffms Nov 26, 2025
5afd689
update valid chrome link
leahmsft Dec 4, 2025
a42eb5d
Merge branch 'user/leahtu/enhanced-traces-update' of https://github.c…
leahmsft Dec 4, 2025
0bf6dbe
link text
mikehoffms Dec 4, 2025
cbb28ce
incorporating sulekha's suggestions
leahmsft Dec 5, 2025
2d32aed
Merge branch 'user/leahtu/enhanced-traces-update' of https://github.c…
leahmsft Dec 5, 2025
d39e922
del chkbx "collecting source text"
mikehoffms Dec 5, 2025
ef346f5
del Experi > enh traces
mikehoffms Dec 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions microsoft-edge/dev-videos/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ January 17, 2023
[![Thumbnail image for video "What's new in DevTools 109"](./index-images/devtools-whatsnew-109.png)](https://www.youtube.com/watch?v=b-q-PLmO-ns)

Covers:
* Enhanced traces to share memory and performance recordings.
* Share memory and performance traces with more data.
* Selector Stats in the **Performance** tool.
* Track garbage-collected (GC'd) objects in the **Memory** tool.
* Heap Snapshot visualizer extension.
Expand All @@ -183,7 +183,8 @@ Covers:

See also:
* [What's New in DevTools (Microsoft Edge 109)](../devtools/whats-new/2023/01/devtools-109.md)<!-- has Video section -->
* [Share enhanced performance and memory traces](../devtools/experimental-features/share-traces.md)
* [Share a memory trace with more data](../devtools/experimental-features/share-memory-traces.md)
* [Share a performance trace with more data](../devtools/performance/share-performance-traces.md)
* [Analyze CSS selector performance during Recalculate Style events](../devtools/performance/selector-stats.md) - selector stats.
* [Investigate memory allocation, with reduced garbage ("Include objects" checkboxes)](../devtools/rendering-tools/js-runtime.md#investigate-memory-allocation-with-reduced-garbage-include-objects-checkboxes) in _Speed up JavaScript runtime ("Allocation sampling" profiling type)_.
* [Trash talk: the Orinoco garbage collector](https://v8.dev/blog/trash-talk)
Expand Down
40 changes: 1 addition & 39 deletions microsoft-edge/devtools/experimental-features/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -544,44 +544,6 @@ Status:
* This checkbox is present in Microsoft Edge Stable 142.


<!-- ====================================================================== -->
## Performance panel: Enable collecting enhanced traces
<!-- checkbox has no "(?)" link pointing to this anchor wording -->

_new as of Microsoft Edge 128_

This experiment makes the **Performance** tool capture newly added traces, to support enhanced traces v2. This feature is being implemented in the upstream Chromium project. This experiment doesn't affect the capabilities of Microsoft Edge to capture enhanced traces and doesn't impact DevTools user's experience.

Status:
* This checkbox is not present in Microsoft Edge Canary 144.
* This checkbox is present in Microsoft Edge Stable 142.

See also:
* [Share enhanced performance and memory traces](../experimental-features/share-traces.md)
* [Performance features reference](../performance/reference.md)
* [Performance recording event reference](../performance/performance-reference.md)


<!-- ====================================================================== -->
## Performance panel: Enable collecting source text for compiled script
<!-- checkbox has no "(?)" link pointing to this anchor wording -->

_new as of Microsoft Edge 128_

In the **Performance** tool, when exporting the trace file, stores the source code of compiled scripts in the trace file.

This experiment makes the **Performance** tool record script source text in traces. This feature is being implemented in the upstream Chromium project.

Status:
* This checkbox is not present in Microsoft Edge Canary 144.
* This checkbox is present in Microsoft Edge Stable 142.

See also:
* [Share enhanced performance and memory traces](../experimental-features/share-traces.md)
* [Performance features reference](../performance/reference.md)
* [Performance recording event reference](../performance/performance-reference.md)


<!-- ====================================================================== -->
## Performance panel: Enable debug mode (trace event details, etc)
<!-- checkbox has no "(?)" link pointing to this anchor wording -->
Expand All @@ -595,7 +557,7 @@ Status:
* This checkbox is present in Microsoft Edge Stable 142.

See also:
* [Share enhanced performance and memory traces](../experimental-features/share-traces.md)
* [Share a performance trace with more data](../performance/share-performance-traces.md)
* [Performance features reference](../performance/reference.md)
* [Performance recording event reference](../performance/performance-reference.md)

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
178 changes: 178 additions & 0 deletions microsoft-edge/devtools/experimental-features/share-memory-traces.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
---
title: Share a memory trace with more data
description: Learn to export and import memory traces with more data in DevTools to resolve low performance and high memory usage issues in your webpages
author: MSEdgeTeam
ms.author: msedgedevrel
ms.topic: article
ms.service: microsoft-edge
ms.subservice: devtools
ms.date: 11/17/2025
---
# Share a memory trace with more data

The **Memory** tool records runtime data about your webpage. Exploring the recorded data makes it possible to improve your webpage's memory usage.

Additionally, the recorded data can be exported to files on disk. The exported files are called _traces_.

Exporting memory traces is useful when you want to share these files with other people to get help with investigating issues.


<!-- ------------------------------ -->
#### File formats

A trace file can be imported in DevTools at any time. By default, these traces contain minimal information about the runtime data from the traced webpage.

An exported trace can be a basic `.heapsnapshot`, `.heapprofile`, or `.heaptimeline` file.

A memory trace can also be saved as a `.devtools` file, which contains much more runtime data from the traced webpage. Advantages of the `.devtools` file format:

* This makes it easier to resolve memory issues, by recreating the environment in which the trace was recorded, and by providing original source files.

* This makes it possible to reliably resolve source code references found in imported traces to the actual runtime code in the **Sources** tool.

* If source maps were present when a trace was recorded, or if they are stored on the [Azure Artifacts Symbol Server](../javascript/consume-source-maps-from-azure.md), it's also possible to resolve code references to their original source code.


<!-- ------------------------------ -->
#### Browser compatibility

* `.heapsnapshot`, `.heapprofile`, and `.heaptimeline` trace files are compatible with Microsoft Edge and other browsers that are based on the Chromium engine.

* `.devtools` traces can only be imported in Microsoft Edge.


<!-- ====================================================================== -->
## Set the default memory trace type

By default, the **Memory** tool exports data as `.heapsnapshot`, `.heapprofile`, or `.heaptimeline` trace files.

To change the default trace type to `.devtools`:

1. Open DevTools by pressing **Ctrl+Shift+I** (Windows, Linux) or **Command+Option+I** (macOS).

1. In DevTools, in the upper right, select **Customize and control DevTools** > **Settings** (![Settings button](./share-memory-traces-images/settings-button-icon.png)). **Settings** opens, with the **Preferences** page selected.

1. In the **Persistence** section of the **Preferences** page, use the **Export .devtools memory traces** checkbox to control the default type.

![The Settings panel in DevTools, showing the export type option](./share-memory-traces-images/set-default-memory-trace-type.png)


<!-- ====================================================================== -->
## Set the export options for memory traces

Memory traces that are `.devtools` files always include source maps when they're available, and can optionally include console messages, script sources, and DOM elements.

To control whether console messages, script sources, or DOM elements are included in memory traces:

1. Open DevTools by pressing **Ctrl+Shift+I** (Windows, Linux) or **Command+Option+I** (macOS).

1. In DevTools, in the upper right, select **Customize and control DevTools** > **Settings** (![Settings button](./share-memory-traces-images/settings-button-icon.png)). **Settings** opens, with the **Preferences** page selected.

1. Scroll down to the **Persistence** section:

![The Settings panel in DevTools, showing the trace options](./share-memory-traces-images/enhanced-trace-options.png)

1. Use these checkboxes to control what to include:

* **Include console messages in .devtools memory traces**

* **Include script sources in .devtools memory traces**

* **Include DOM snapshots in .devtools memory traces (experimental)**

1. In the upper right of DevTools, click the **Close** (![Close icon](./share-memory-traces-images/close-icon.png)) button.


<!-- ====================================================================== -->
## Export a trace from the Memory tool

To export memory information from the **Memory** tool:

1. Open the **Memory** tool.

1. Select the option button for the type of memory recording you're interested in, such as the **Heap snapshot** option button.

The following instructions are similar if you choose a different memory recording type, per [Fix memory problems](../memory-problems/index.md).

**In the case of a heap snapshot:**

1. Click the **Take heap snapshot** (![Take heap snapshot icon](./share-memory-traces-images/take-heap-snapshot-icon.png)) button at top, or the **Take snapshot** button at bottom.

The snapshot is recorded and displayed.

1. In the toolbar, select the **Save profile** (![Save profile icon](./share-memory-traces-images/save-profile-icon.png)) button:

![Microsoft Edge with DevTools, showing the Memory tool, with the Save button](./share-memory-traces-images/exporting-memory-trace.png)

Or, in the **Memory** tool sidebar, hover over the new snapshot's entry, and then select **Save profile**.

The **Save As** dialog opens:

![The Save As dialog in Windows, showing the memory trace file being saved in a traces folder](./share-memory-traces-images/saving-memory-trace.png)

1. Navigate to a folder in which to save the trace file on your disk.

1. In the **File name** text box, adjust the file name if desired.

1. In the **File name** text box, keep or modify the extension that's specified after the file name.

<!-- todo: expect the File type dropdown to have not just 1 item, but 2

when DevTools Settings > **Export .devtools memory traces** checkbox is cleared, **Save as type**'s lone item is
**Performance traces (*.devtools; *.json; *.heapsnapshot)**

when DevTools Settings > **Export .devtools memory traces** checkbox is selected, **Save as type**'s lone item is
**Performance traces (*.devtools; *.json; *.devtools)**
-->

* `.devtools` includes console messages, script sources, and DOM elements.

* `.heapsnapshot`, `.heapprofile`, or `.heaptimeline` omits console messages, script sources, and DOM elements.

Which extension is initially displayed is controlled by a DevTools setting; see [Set the default memory trace type](#set-the-default-memory-trace-type), above.

1. Click the **Save** button.

The **Save As** dialog closes, and the file is saved to disk.


<!-- ====================================================================== -->
## Import a trace in the Memory tool

To import a trace in the **Memory** tool:

1. Open the **Memory** tool:

![Microsoft Edge, showing the Memory tool in DevTools, with the Load button](./share-memory-traces-images/importing-memory-trace.png)

1. Click the **Load profile** (![Load profile icon](./share-memory-traces-images/load-profile-icon.png)) button at the top. Or, click the **Load profile** button at the bottom.

The **Open** dialog is displayed.

1. In the lower left dropdown list (a filter), select file types to display:

* **Performance traces (*.devtools; *.json)** - _Used with the **Performance** tool._
* **Heap snapshots (*.devtools; *.heapsnapshot)**
* **Heap timelines (*.devtools; *.heaptimeline)**
* **Sampled heap profiles (*.devtools; *.heapprofile)**

1. Locate the trace file on your disk, and then select it.

The trace file is either a `.devtools` file, or a `.heapsnapshot`, `.heaptimeline`, or `.heapprofile` file.

![The Windows open dialog, showing a memory trace file](./share-memory-traces-images/opening-memory-trace.png)

1. Click the **Open** button.

If it's a `.devtools` file, a new DevTools window appears, showing the memory information and the extra runtime information that was recorded displayed in the **Sources**, **Console**, and **Elements** tools.

Otherwise, the memory information appears in the **Memory** tool, and the rest of the DevTools tabs continue to show information related to the current webpage.


<!-- ====================================================================== -->
## See also
<!-- all links in article -->

* [Share performance traces with more data](../performance/share-performance-traces.md)<!-- link not in article -->
* [Fix memory problems](../memory-problems/index.md)
* [Azure Artifacts Symbol Server](../javascript/consume-source-maps-from-azure.md)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading