Bug 1729671 - [devtools] Update performance-tests-overview.html for new allocations devtools tests r=ochameau

Differential Revision: https://phabricator.services.mozilla.com/D125534
This commit is contained in:
Julian Descottes 2021-09-14 14:18:26 +00:00
parent 6270f77ad0
commit 76db5111bb

View File

@ -56,14 +56,48 @@ At the end of the test, logs should contain a `PERFHERDER_DATA` entry which cont
A regression or improvement in this test is most likely linked to a change in a file from devtools/shared/protocol.
## total-after-gc
## toolbox:parent-process
total-after-gc measures the number of objects created by DevTools to inspect a tab target. It does not involve DevTools frontend. This test is a mochitest which can be executed with:
toolbox:parent-process measures the number of objects allocated by DevTools after opening and closing a DevTools toolbox. This test is a mochitest which can be executed with:
```bash
./mach test devtools/client/framework/test/allocations/browser_allocations_toolbox.js --headless
```
The test will record allocations while opening and closing the Toolbox several times. The `PERFHERDER_DATA` entry in the logs will contain 3 measures. objects-with-stacks is the number of allocated objects for which the allocation site is known and should be easy to fix for developers. objects-with-no-stacks is for objects for which there is no stack. memory attempts to record the memory, but the results are very noisy. You can refer to devtools/client/framework/test/allocations/README.md for a more detailed description of this test and how to use it to investigate and fix memory issues.
A regression here may indicate a leak, for instance a module which no longer cleans its dependencies. It can also indicate that DevTools is loading more singletons or other objects which are not tied to the lifecycle of the DevTools objects.
## target:parent-process
target:parent-process measures the number of objects created by DevTools to create a tab target. It does not involve DevTools frontend. This test is a mochitest which can be executed with:
```bash
./mach test devtools/client/framework/test/allocations/browser_allocations_target.js --headless
```
The test will open a tab and will objects in a similar way to what the DevTools Toolbox would need. At that point, the test will measure how many objects have been created. It will then attempt to destroy all the created objects, will perform several garbage and cycle collections and will measure how many objects are remaining. The `PERFHERDER_DATA` entry in the logs should contain both measures.
See the description for toolbox:parent-process for more information.
A regression or improvement here may indicate a leak, for instance a module which no longer cleans its dependencies. It can also indicate that DevTools is loading more singletons or other objects which are not tied to the lifecycle of the DevTools objects.
## reload:parent-process
target:parent-process measures the number of objects created by DevTools when reloading a page inspected by a DevTools Toolbox. This test is a mochitest which can be executed with:
```bash
./mach test devtools/client/framework/test/allocations/browser_allocations_reload.js --headless
```
See the description for toolbox:parent-process for more information. Note that this test also records another suite, reload:content-process.
## reload:content-process
See the description for reload:parent-process.
## browser-console:parent-process
browser-console:parent-process measures the number of objects created by DevTools when opening and closing the Browser Console. This test is a mochitest which can be executed with:
```bash
./mach test devtools/client/framework/test/allocations/browser_allocations_browser_console.js --headless
```
See the description for toolbox:parent-process for more information.