browser_metrics_webconsole.js (2176B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 /** 7 * This test records the number of modules loaded by DevTools, as well as the total count 8 * of characters in those modules, when opening the webconsole. These metrics are 9 * retrieved by perfherder via logs. 10 */ 11 12 const TEST_URL = 13 "data:text/html;charset=UTF-8,<div>Webconsole modules load test</div>"; 14 15 add_task(async function () { 16 const toolbox = await openNewTabAndToolbox(TEST_URL, "webconsole"); 17 const toolboxBrowserLoader = toolbox.win.getBrowserLoaderForWindow(); 18 19 // Retrieve the browser loader dedicated to the WebConsole. 20 const panel = toolbox.getCurrentPanel(); 21 const webconsoleLoader = panel._frameWindow.getBrowserLoaderForWindow(); 22 23 const loaders = [ 24 loader.loader, 25 toolboxBrowserLoader.loader, 26 webconsoleLoader.loader, 27 ]; 28 29 const allowedDupes = [ 30 "@loader/unload.js", 31 "@loader/options.js", 32 "resource://devtools/client/webconsole/constants.js", 33 "resource://devtools/client/webconsole/utils.js", 34 "resource://devtools/client/webconsole/utils/messages.js", 35 "resource://devtools/client/webconsole/utils/l10n.js", 36 "resource://devtools/client/netmonitor/src/utils/request-utils.js", 37 "resource://devtools/client/webconsole/types.js", 38 "resource://devtools/client/shared/vendor/fluent-react.js", 39 "resource://devtools/client/shared/vendor/react-redux.js", 40 "resource://devtools/client/shared/vendor/redux.js", 41 "resource://devtools/client/shared/redux/middleware/thunk.js", 42 "resource://devtools/client/shared/redux/middleware/ignore.js", 43 44 // React components loaded from Toolbox and Panel BrowserLoaders 45 "resource://devtools/client/shared/components/menu/MenuButton.js", 46 "resource://devtools/client/shared/components/menu/MenuItem.js", 47 "resource://devtools/client/shared/components/menu/MenuList.js", 48 "resource://devtools/client/shared/components/AppErrorBoundary.js", 49 ]; 50 runDuplicatedModulesTest(loaders, allowedDupes); 51 52 runMetricsTest({ 53 filterString: "devtools/client/webconsole", 54 loaders, 55 panelName: "webconsole", 56 }); 57 });