summaryrefslogtreecommitdiffstats
path: root/devtools/docs/user/memory/index.rst
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /devtools/docs/user/memory/index.rst
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/docs/user/memory/index.rst')
-rw-r--r--devtools/docs/user/memory/index.rst52
1 files changed, 52 insertions, 0 deletions
diff --git a/devtools/docs/user/memory/index.rst b/devtools/docs/user/memory/index.rst
new file mode 100644
index 0000000000..7a508015a1
--- /dev/null
+++ b/devtools/docs/user/memory/index.rst
@@ -0,0 +1,52 @@
+======
+Memory
+======
+
+The Memory tool lets you take a snapshot of the current tab's memory `heap <https://en.wikipedia.org/wiki/Memory_management#HEAP>`_. It then provides a number of views of the heap that can show you which objects account for memory usage and exactly where in your code you are allocating memory.
+
+.. raw:: html
+
+ <iframe width="560" height="315" src="https://www.youtube.com/embed/DJLoq5E5ww0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+ <br/>
+ <br/>
+
+
+The basics
+**********
+
+- :ref:`Opening the memory tool <memory-basic-operations-opening-the-memory-tool>`
+- :ref:`Taking a heap snapshot <memory-basic-operations-taking-a-heap-snapshot>`
+- :ref:`Comparing two snapshots <memory-basic-operations-comparing-snapshots>`
+- :ref:`Deleting snapshots <memory-basic-operations-clearing-a-snapshot>`
+- :ref:`Saving and loading snapshots <memory-basic-operations-saving-and-loading-snapshots>`
+- :ref:`Recording call stacks <memory-basic-operations-recording-call-stacks>`
+
+
+Analyzing snapshots
+*******************
+
+The Tree map view is new in Firefox 48, and the Dominators view is new in Firefox 46.
+
+Once you've taken a snapshot, there are three main views the Memory tool provides:
+
+
+- :doc:`the Tree map view <tree_map_view/index>` shows memory usage as a `treemap <https://en.wikipedia.org/wiki/Treemapping>`_.
+- :doc:`the Aggregate view <aggregate_view/index>` shows memory usage as a table of allocated types.
+- :doc:`the Dominators view <dominators_view/index>` shows the "retained size" of objects: that is, the size of objects plus the size of other objects that they keep alive through references.
+
+
+If you've opted to record allocation stacks for the snapshot, the Aggregate and Dominators views can show you exactly where in your code allocations are happening.
+
+Concepts
+********
+
+- :doc:`Dominators <dominators_view/index>`
+
+
+Example pages
+*************
+
+Examples used in the Memory tool documentation.
+
+- :doc:`Monster example <monster_example/index>`
+- :doc:`DOM allocation example <dom_allocation_example/index>`