160
edits
Changes
Add AWSY Docs
All of the values we report to Perfherder for memory come from [https://developer.mozilla.org/docs/Mozilla/Performance/about:memory about:memory]. It might be helpful to run that locally to get an idea of what we measure.
== Test Descriptions ==
=== Explicit Memory summary ===
* This is memory explicitly reported by a memory reporter. It includes all the memory allocated via explicit calls to heap allocation functions (such as malloc and new) and to non-heap allocations functions (such as mmap and VirtualAlloc).
==== Possible regression causes ====
* A regression in this usually means a new feature is using or retaining more memory and should be looked at. These are easier to diagnose as we can compare memory reports.
See the about:memory [https://developer.mozilla.org/docs/Mozilla/Performance/about:memory#Explicit_Allocations mdn page] for more details.
=== Heap Unclassified summary ===
* The "heap-unclassified" value represents heap-allocated memory that is not measured by any memory reporter. This is typically 10--20% of "explicit".
==== Possible regression causes ====
* A regression in this can indicate that we're leaking memory or that additional memory reporters should be added.
* An improvement can indicate that leaks have been fixed or that we added new memory reporters.
See the about:memory [https://developer.mozilla.org/docs/Mozilla/Performance/about:memory#Explicit_Allocations mdn page] for more details.
=== Images summary ===
* This is a subset of the "explicit" measurement that focuses on memory used to render images.
==== Possible regression causes ====
* A regressions in this can indicate leaks or poor memory usage in the image subsystem. In the past this was persistent problem.
=== JS summary ===
* This is the "js-main-runtime/" value in about:memory which is all the memory attributed to the javascript engine.
==== Possible regression causes ====
* A regression in this number can indicate leaks in the JS engine, optimizations that take performance into consideration at the expense of more memory, or problems with the garbage collector.
=== Resident Memory summary ===
* This is a higher level measurement provided by the operating system. We sum the "resident" memory ([https://en.wikipedia.org/wiki/Resident_set_size RSS]) with the [https://en.wikipedia.org/wiki/Unique_set_size resident-unique] memory of the content processes. It's pretty noisy and large so it's not very useful in detecting smaller regressions.
==== Possible regression causes ====
* Regressions in this often track regressions in explicit and heap unclassified. If we see a regression in resident, but not in other reports this can indicate we are leaking untracked memory (perhaps through shared memory, graphics allocations, file handles, etc).
== Test Descriptions ==
=== Explicit Memory summary ===
* This is memory explicitly reported by a memory reporter. It includes all the memory allocated via explicit calls to heap allocation functions (such as malloc and new) and to non-heap allocations functions (such as mmap and VirtualAlloc).
==== Possible regression causes ====
* A regression in this usually means a new feature is using or retaining more memory and should be looked at. These are easier to diagnose as we can compare memory reports.
See the about:memory [https://developer.mozilla.org/docs/Mozilla/Performance/about:memory#Explicit_Allocations mdn page] for more details.
=== Heap Unclassified summary ===
* The "heap-unclassified" value represents heap-allocated memory that is not measured by any memory reporter. This is typically 10--20% of "explicit".
==== Possible regression causes ====
* A regression in this can indicate that we're leaking memory or that additional memory reporters should be added.
* An improvement can indicate that leaks have been fixed or that we added new memory reporters.
See the about:memory [https://developer.mozilla.org/docs/Mozilla/Performance/about:memory#Explicit_Allocations mdn page] for more details.
=== Images summary ===
* This is a subset of the "explicit" measurement that focuses on memory used to render images.
==== Possible regression causes ====
* A regressions in this can indicate leaks or poor memory usage in the image subsystem. In the past this was persistent problem.
=== JS summary ===
* This is the "js-main-runtime/" value in about:memory which is all the memory attributed to the javascript engine.
==== Possible regression causes ====
* A regression in this number can indicate leaks in the JS engine, optimizations that take performance into consideration at the expense of more memory, or problems with the garbage collector.
=== Resident Memory summary ===
* This is a higher level measurement provided by the operating system. We sum the "resident" memory ([https://en.wikipedia.org/wiki/Resident_set_size RSS]) with the [https://en.wikipedia.org/wiki/Unique_set_size resident-unique] memory of the content processes. It's pretty noisy and large so it's not very useful in detecting smaller regressions.
==== Possible regression causes ====
* Regressions in this often track regressions in explicit and heap unclassified. If we see a regression in resident, but not in other reports this can indicate we are leaking untracked memory (perhaps through shared memory, graphics allocations, file handles, etc).