-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Memory leak fixes for several views (#7057)
* Change the mount utility to use Vue's createApp and defineComponent methods * Fix display layout memory leaks caused by `getSelectionContext` * fix some display layout leaks due to use of slots * Fix imagery memory leak (removed span tag). NOTE: CompassRose svg leaks memory - must test on firefox to see if this is a Chrome leak. * Fix ActionsAPI action collection and applicable actions leak. * Fix flexible layout memory leaks - remove listeners on unmount. NOTE: One type of overlay plot (Rover Yaw) is still leaking. * pass in the el on mount * e2e test config and spec changes * Remove mounting of limit lines. Use components directly * test: remove `.only()` * Fix display layout memory leaks * Enable passing tests * e2e README and appActions should be what master has. * lint: add word to cspell list * lint: fixes * lint:fix * fix: revert `el` change * fix: remove empty span * fix: creating shapes in displayLayout * fix: avoid `splice` as it loses reactivity * test: reduce timeout time * quick fixes * add prod mode and convert the test config to select the correct mode * Fix webpack prod config * Add launch flag for exposing window.gc * never worked * explicit naming * rename * We don't need to destroy view providers * test: increase timeout time * test: unskip all mem tests * fix(vue-loader): disable static hoisting * chore: run `test:perf:memory` * Don't destroy view providers * Move context menu once listener to beforeUnmount instead. * Disconnect all resize observers on unmount * Delete Test vue component * Use beforeUnmount and remove splice(0) in favor of [] for emptying arrays * re-structure * fix: unregister listener in pane.vue * test: tweak timeouts * chore: lint:fix * test: unskip perf tests * fix: unregister events properly * fix: unregister listener * fix: unregister listener * fix: unregister listener * fix: use `unmounted()` * fix: unregister listeners * fix: unregister listener properly * chore: lint:fix * test: fix imagery layer toggle test * test: increase timeout * Don't use anonymous functions for listeners * Destroy objects and event listeners properly * Delete config stores that are created by components * Use the right unmount hook. Destroy mounted view on unmount. * Use unmounted, not beforeUnmounted * Lint fixes * Fix time strip memory leak * Undo unneeded change for memory leaks. * chore: combine common webpack configs --------- Co-authored-by: Jesse Mazzella <[email protected]> Co-authored-by: John Hill <[email protected]>
- Loading branch information
1 parent
61e7050
commit b8949db
Showing
65 changed files
with
887 additions
and
393 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
/* eslint-disable no-undef */ | ||
// playwright.config.js | ||
// @ts-check | ||
|
||
/** @type {import('@playwright/test').PlaywrightTestConfig} */ | ||
const config = { | ||
retries: 0, //Only for debugging purposes for trace: 'on-first-retry' | ||
testDir: 'tests/performance/', | ||
testIgnore: '*.contract.perf.spec.js', //Run everything except contract tests which require marks in dev mode | ||
timeout: 60 * 1000, | ||
workers: 1, //Only run in serial with 1 worker | ||
webServer: { | ||
command: 'npm run start:prod', //Production mode | ||
url: 'http://localhost:8080/#', | ||
timeout: 200 * 1000, | ||
reuseExistingServer: false //Must be run with this option to prevent dev mode | ||
}, | ||
use: { | ||
baseURL: 'http://localhost:8080/', | ||
headless: true, | ||
ignoreHTTPSErrors: false, //HTTP performance varies! | ||
screenshot: 'off', | ||
trace: 'on-first-retry', | ||
video: 'off' | ||
}, | ||
projects: [ | ||
{ | ||
name: 'chrome-memory', | ||
testMatch: '*.memory.perf.spec.js', //Only run memory tests | ||
use: { | ||
browserName: 'chromium', | ||
launchOptions: { | ||
args: [ | ||
'--no-sandbox', | ||
'--disable-notifications', | ||
'--use-fake-ui-for-media-stream', | ||
'--use-fake-device-for-media-stream', | ||
'--js-flags=--no-move-object-start --expose-gc', | ||
'--enable-precise-memory-info', | ||
'--display=:100' | ||
] | ||
} | ||
} | ||
}, | ||
{ | ||
name: 'chrome', | ||
testIgnore: '*.memory.perf.spec.js', //Do not run memory tests without proper flags | ||
use: { | ||
browserName: 'chromium' | ||
} | ||
} | ||
], | ||
reporter: [ | ||
['list'], | ||
['junit', { outputFile: '../test-results/results.xml' }], | ||
['json', { outputFile: '../test-results/results.json' }] | ||
] | ||
}; | ||
|
||
module.exports = config; |
Large diffs are not rendered by default.
Oops, something went wrong.
File renamed without changes.
File renamed without changes.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.