From a2e121e262dac49b15b9ed289a0a50e0397d5226 Mon Sep 17 00:00:00 2001 From: Myeongjun Go Date: Tue, 2 Nov 2021 19:11:06 +0000 Subject: [PATCH] Bug 1674220 - [perfdocs] Enumerate Talos tests using PerfDocs r=sparky,perftest-reviewers Differential Revision: https://phabricator.services.mozilla.com/D128037 --- docs/conf.py | 2 +- testing/perfdocs/generated/talos.rst | 593 +++++++++++++++++++++ testing/talos/perfdocs/config.yml | 56 +- testing/talos/perfdocs/index.rst | 2 + tools/lint/perfdocs/framework_gatherers.py | 35 ++ tools/lint/perfdocs/gatherer.py | 2 + tools/lint/test/test_perfdocs.py | 6 + 7 files changed, 693 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 37c5049941095..8b2bf57caf192 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -114,7 +114,7 @@ def install_sphinx_panels(app, pagename, templatename, context, doctree): - if "raptor" in pagename: + if "perfdocs" in pagename: app.add_js_file("sphinx_panels.js") app.add_css_file("sphinx_panels.css") diff --git a/testing/perfdocs/generated/talos.rst b/testing/perfdocs/generated/talos.rst index fc0cea4afe9ca..9cdda0ec58963 100644 --- a/testing/perfdocs/generated/talos.rst +++ b/testing/perfdocs/generated/talos.rst @@ -2039,6 +2039,599 @@ Notes: stable statistics (xref `bug 1616236 `__) +Talos Tests +=========== +Talos test lists + +.. dropdown:: ARES6 + :container: + anchor-id-ARES6-Talos + + * **lower_is_better**: True + * **tpmanifest**: ${talos}/tests/ares6/ares6.manifest + * **tppagecycles**: 1 + +.. dropdown:: JetStream + :container: + anchor-id-JetStream-Talos + + * **tpmanifest**: ${talos}/tests/jetstream/jetstream.manifest + * **tppagecycles**: 1 + +.. dropdown:: a11yr + :container: + anchor-id-a11yr-Talos + + * **a11y**: True + * **alert_threshold**: 5.0 + * **preferences**: {'dom.send_after_paint_to_content': False} + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/a11y/a11y.manifest + * **tpmozafterpaint**: True + * **tppagecycles**: 25 + * **unit**: ms + +.. dropdown:: about_preferences_basic + :container: + anchor-id-about_preferences_basic-Talos + + * **fnbpaint**: True + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 1 + * **lower_is_better**: True + * **tpcycles**: 25 + * **tpmanifest**: ${talos}/tests/about-preferences/about_preferences_basic.manifest + * **tppagecycles**: 1 + * **unit**: ms + +.. dropdown:: basic_compositor_video + :container: + anchor-id-basic_compositor_video-Talos + + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 1 + * **lower_is_better**: True + * **preferences**: {'full-screen-api.allow-trusted-requests-only': False, 'layers.acceleration.force-enabled': False, 'layers.acceleration.disabled': True, 'gfx.webrender.software': True, 'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'full-screen-api.warning.timeout': 500, 'media.ruin-av-sync.enabled': True} + * **timeout**: 10000 + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/video/video.manifest + * **tppagecycles**: 12 + * **unit**: ms/frame + +.. dropdown:: cpstartup + :container: + anchor-id-cpstartup-Talos + + * **extensions**: ['${talos}/pageloader', '${talos}/tests/cpstartup/extension'] + * **gecko_profile_entries**: 1000000 + * **preferences**: {'browser.link.open_newwindow': 3, 'browser.link.open_newwindow.restriction': 2} + * **timeout**: 600 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/cpstartup/cpstartup.manifest + * **tppagecycles**: 20 + * **unit**: ms + +.. dropdown:: cross_origin_pageload + :container: + anchor-id-cross_origin_pageload-Talos + + * **extensions**: ['${talos}/pageloader'] + * **preferences**: {'dom.ipc.processPrelaunch.fission.number': 30} + * **timeout**: 100 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/cross_origin_pageload/cross_origin_pageload.manifest + * **tppagecycles**: 10 + * **unit**: ms + +.. dropdown:: damp + :container: + anchor-id-damp-Talos + + * **cycles**: 5 + * **extensions**: ['${talos}/pageloader', '${talos}/tests/devtools/addon'] + * **gecko_profile_entries**: 10000000 + * **gecko_profile_interval**: 10 + * **linux_counters**: None + * **mac_counters**: None + * **perfherder_framework**: devtools + * **preferences**: {'devtools.memory.enabled': True} + * **subtest_alerts**: True + * **tpcycles**: 1 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/devtools/damp.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 5 + * **unit**: ms + * **w7_counters**: None + * **win_counters**: None + +.. dropdown:: displaylist_mutate + :container: + anchor-id-displaylist_mutate-Talos + + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 2 + * **linux_counters**: None + * **mac_counters**: None + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': False} + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/layout/displaylist_mutate.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 5 + * **unit**: ms + * **w7_counters**: None + * **win_counters**: None + +.. dropdown:: dromaeo_css + :container: + anchor-id-dromaeo_css-Talos + + * **gecko_profile_entries**: 10000000 + * **gecko_profile_interval**: 2 + * **tpmanifest**: ${talos}/tests/dromaeo/css.manifest + * **unit**: score + +.. dropdown:: dromaeo_dom + :container: + anchor-id-dromaeo_dom-Talos + + * **gecko_profile_entries**: 10000000 + * **gecko_profile_interval**: 2 + * **tpmanifest**: ${talos}/tests/dromaeo/dom.manifest + * **unit**: score + +.. dropdown:: glterrain + :container: + anchor-id-glterrain-Talos + + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 10 + * **linux_counters**: None + * **mac_counters**: None + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': False} + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/webgl/glterrain.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 25 + * **unit**: frame interval + * **w7_counters**: None + * **win_counters**: None + +.. dropdown:: glvideo + :container: + anchor-id-glvideo-Talos + + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 2 + * **linux_counters**: None + * **mac_counters**: None + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/webgl/glvideo.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 5 + * **unit**: ms + * **w7_counters**: None + * **win_counters**: None + +.. dropdown:: kraken + :container: + anchor-id-kraken-Talos + + * **gecko_profile_entries**: 5000000 + * **gecko_profile_interval**: 1 + * **preferences**: {'dom.send_after_paint_to_content': False} + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/kraken/kraken.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 1 + * **unit**: score + +.. dropdown:: motionmark_animometer + :container: + anchor-id-motionmark_animometer-Talos + + * **tpmanifest**: ${talos}/tests/motionmark/animometer.manifest + +.. dropdown:: motionmark_htmlsuite + :container: + anchor-id-motionmark_htmlsuite-Talos + + * **tpmanifest**: ${talos}/tests/motionmark/htmlsuite.manifest + +.. dropdown:: motionmark_webgl + :container: + anchor-id-motionmark_webgl-Talos + + * **timeout**: 600 + * **tpmanifest**: ${talos}/tests/motionmark/webgl.manifest + * **unit**: fps + +.. dropdown:: pdfpaint + :container: + anchor-id-pdfpaint-Talos + + * **gecko_profile_entries**: 1000000 + * **pdfpaint**: True + * **preferences**: {'pdfjs.eventBusDispatchToDOM': True} + * **timeout**: 600 + * **tpmanifest**: ${talos}/tests/pdfpaint/pdfpaint.manifest + * **tppagecycles**: 20 + * **unit**: ms + +.. dropdown:: perf_reftest + :container: + anchor-id-perf_reftest-Talos + + * **alert_threshold**: 5.0 + * **base_vs_ref**: True + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 1 + * **lower_is_better**: True + * **subtest_alerts**: True + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/perf-reftest/perf_reftest.manifest + * **tppagecycles**: 10 + * **tptimeout**: 30000 + * **unit**: ms + +.. dropdown:: perf_reftest_singletons + :container: + anchor-id-perf_reftest_singletons-Talos + + * **alert_threshold**: 5.0 + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 1 + * **lower_is_better**: True + * **subtest_alerts**: True + * **suite_should_alert**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/perf-reftest-singletons/perf_reftest_singletons.manifest + * **tppagecycles**: 15 + * **tptimeout**: 30000 + * **unit**: ms + +.. dropdown:: rasterflood_gradient + :container: + anchor-id-rasterflood_gradient-Talos + + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 2 + * **linux_counters**: None + * **lower_is_better**: False + * **mac_counters**: None + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': False} + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/gfx/rasterflood_gradient.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 10 + * **unit**: score + * **w7_counters**: None + * **win_counters**: None + +.. dropdown:: rasterflood_svg + :container: + anchor-id-rasterflood_svg-Talos + + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 2 + * **linux_counters**: None + * **mac_counters**: None + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': False} + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/gfx/rasterflood_svg.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 10 + * **unit**: ms + * **w7_counters**: None + * **win_counters**: None + +.. dropdown:: sessionrestore + :container: + anchor-id-sessionrestore-Talos + + * **cycles**: 10 + * **extensions**: ['${talos}/startup_test/sessionrestore/addon'] + * **gecko_profile_entries**: 10000000 + * **gecko_profile_startup**: True + * **preferences**: {'browser.startup.page': 3} + * **profile_path**: ${talos}/startup_test/sessionrestore/profile + * **reinstall**: ['sessionstore.jsonlz4', 'sessionstore.js', 'sessionCheckpoints.json'] + * **timeout**: 900 + * **unit**: ms + * **url**: about:home + +.. dropdown:: sessionrestore_many_windows + :container: + anchor-id-sessionrestore_many_windows-Talos + + * **profile_path**: ${talos}/startup_test/sessionrestore/profile-manywindows + +.. dropdown:: sessionrestore_no_auto_restore + :container: + anchor-id-sessionrestore_no_auto_restore-Talos + + * **preferences**: {'browser.startup.page': 1, 'talos.sessionrestore.norestore': True} + * **timeout**: 300 + +.. dropdown:: startup_about_home_paint + :container: + anchor-id-startup_about_home_paint-Talos + + * **cycles**: 20 + * **extensions**: ['${talos}/startup_test/startup_about_home_paint/addon'] + * **preferences**: {'browser.startup.homepage.abouthome_cache.enabled': False} + * **timeout**: 600 + * **tpmanifest**: ${talos}/startup_test/startup_about_home_paint/startup_about_home_paint.manifest + * **url**: None + +.. dropdown:: startup_about_home_paint_cached + :container: + anchor-id-startup_about_home_paint_cached-Talos + + * **cycles**: 20 + * **extensions**: ['${talos}/startup_test/startup_about_home_paint/addon'] + * **preferences**: {'browser.startup.homepage.abouthome_cache.enabled': True} + * **tpmanifest**: ${talos}/startup_test/startup_about_home_paint/startup_about_home_paint.manifest + * **url**: None + +.. dropdown:: startup_about_home_paint_realworld_webextensions + :container: + anchor-id-startup_about_home_paint_realworld_webextensions-Talos + + * **cycles**: 20 + * **extensions**: ['${talos}/startup_test/startup_about_home_paint/addon', '${talos}/getinfooffline'] + * **preferences**: {'browser.startup.homepage.abouthome_cache.enabled': False} + * **tpmanifest**: ${talos}/startup_test/startup_about_home_paint/startup_about_home_paint.manifest + * **url**: None + * **webextensions_folder**: ${talos}/webextensions + +.. dropdown:: stylebench + :container: + anchor-id-stylebench-Talos + + * **tpmanifest**: ${talos}/tests/stylebench/stylebench.manifest + +.. dropdown:: tabpaint + :container: + anchor-id-tabpaint-Talos + + * **extensions**: ['${talos}/tests/tabpaint', '${talos}/pageloader'] + * **gecko_profile_entries**: 1000000 + * **preferences**: {'browser.link.open_newwindow': 3, 'browser.link.open_newwindow.restriction': 2, 'browser.newtab.preload': False} + * **timeout**: 600 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/tabpaint/tabpaint.manifest + * **tppagecycles**: 20 + * **unit**: ms + +.. dropdown:: tabswitch + :container: + anchor-id-tabswitch-Talos + + * **extensions**: ['${talos}/tests/tabswitch', '${talos}/pageloader'] + * **gecko_profile_entries**: 5000000 + * **preferences**: {'addon.test.tabswitch.urlfile': '${talos}/tests/tp5o.html', 'addon.test.tabswitch.webserver': '${webserver}', 'addon.test.tabswitch.maxurls': -1, 'browser.toolbars.bookmarks.visibility': 'never'} + * **timeout**: 900 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/tabswitch/tabswitch.manifest + * **tppagecycles**: 5 + * **unit**: ms + +.. dropdown:: tart + :container: + anchor-id-tart-Talos + + * **extensions**: ['${talos}/pageloader', '${talos}/tests/tart/addon'] + * **gecko_profile_entries**: 1000000 + * **gecko_profile_interval**: 10 + * **linux_counters**: None + * **mac_counters**: None + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': False} + * **tpcycles**: 1 + * **tploadnocache**: True + * **tpmanifest**: ${talos}/tests/tart/tart.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 25 + * **unit**: ms + * **w7_counters**: None + * **win_counters**: None + +.. dropdown:: tart_flex + :container: + anchor-id-tart_flex-Talos + + * **preferences**: {'layout.css.emulate-moz-box-with-flex': True} + +.. dropdown:: tp5n + :container: + anchor-id-tp5n-Talos + + * **cleanup**: ${talos}/xtalos/parse_xperf.py -c ${talos}/bcontroller.json + * **cycles**: 1 + * **linux_counters**: [] + * **mac_counters**: [] + * **mainthread**: True + * **multidomain**: True + * **preferences**: {'extensions.enabledScopes': '', 'talos.logfile': 'browser_output.txt'} + * **resolution**: 20 + * **setup**: ${talos}/xtalos/start_xperf.py -c ${talos}/bcontroller.json + * **timeout**: 1800 + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/fis/tp5n/tp5n.manifest + * **tpmozafterpaint**: True + * **tppagecycles**: 1 + * **tptimeout**: 10000 + * **unit**: ms + * **w7_counters**: [] + * **win_counters**: [] + * **xperf_counters**: ['main_startup_fileio', 'main_startup_netio', 'main_normal_fileio', 'main_normal_netio', 'nonmain_startup_fileio', 'nonmain_normal_fileio', 'nonmain_normal_netio', 'mainthread_readcount', 'mainthread_readbytes', 'mainthread_writecount', 'mainthread_writebytes', 'time_to_session_store_window_restored_ms'] + * **xperf_providers**: ['PROC_THREAD', 'LOADER', 'HARD_FAULTS', 'FILENAME', 'FILE_IO', 'FILE_IO_INIT'] + * **xperf_stackwalk**: ['FileCreate', 'FileRead', 'FileWrite', 'FileFlush', 'FileClose'] + * **xperf_user_providers**: ['Mozilla Generic Provider', 'Microsoft-Windows-TCPIP'] + +.. dropdown:: tp5o + :container: + anchor-id-tp5o-Talos + + * **cycles**: 1 + * **gecko_profile_entries**: 4000000 + * **gecko_profile_interval**: 2 + * **linux_counters**: ['XRes'] + * **mac_counters**: [] + * **mainthread**: False + * **multidomain**: True + * **responsiveness**: True + * **timeout**: 1800 + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/fis/tp5n/tp5o.manifest + * **tpmozafterpaint**: True + * **tppagecycles**: 25 + * **tptimeout**: 5000 + * **unit**: ms + * **w7_counters**: ['% Processor Time'] + * **win_counters**: ['% Processor Time'] + +.. dropdown:: tp5o_scroll + :container: + anchor-id-tp5o_scroll-Talos + + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 2 + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': True, 'apz.paint_skipping.enabled': False, 'layout.css.scroll-behavior.spring-constant': "'10'", 'toolkit.framesRecording.bufferSize': 10000} + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/tp5n/tp5o.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 12 + * **tpscrolltest**: True + * **unit**: 1/FPS + +.. dropdown:: tp5o_webext + :container: + anchor-id-tp5o_webext-Talos + + * **preferences**: {'xpinstall.signatures.required': False} + * **webextensions**: ${talos}/webextensions/dummy/dummy.xpi + +.. dropdown:: tresize + :container: + anchor-id-tresize-Talos + + * **extensions**: ['${talos}/pageloader', '${talos}/tests/tresize/addon'] + * **gecko_profile_entries**: 1000000 + * **gecko_profile_interval**: 2 + * **timeout**: 900 + * **tpmanifest**: ${talos}/tests/tresize/tresize.manifest + * **tpmozafterpaint**: True + * **tppagecycles**: 20 + * **unit**: ms + +.. dropdown:: ts_paint + :container: + anchor-id-ts_paint-Talos + + * **cycles**: 20 + * **gecko_profile_entries**: 10000000 + * **gecko_profile_startup**: True + * **mainthread**: False + * **responsiveness**: False + * **timeout**: 150 + * **tpmozafterpaint**: True + * **unit**: ms + * **url**: startup_test/tspaint_test.html + * **win7_counters**: [] + * **xperf_counters**: [] + +.. dropdown:: ts_paint_flex + :container: + anchor-id-ts_paint_flex-Talos + + * **preferences**: {'layout.css.emulate-moz-box-with-flex': True} + +.. dropdown:: ts_paint_heavy + :container: + anchor-id-ts_paint_heavy-Talos + + * **profile**: simple + +.. dropdown:: ts_paint_webext + :container: + anchor-id-ts_paint_webext-Talos + + * **preferences**: {'xpinstall.signatures.required': False} + * **webextensions**: ${talos}/webextensions/dummy/dummy.xpi + +.. dropdown:: tscrollx + :container: + anchor-id-tscrollx-Talos + + * **gecko_profile_entries**: 1000000 + * **gecko_profile_interval**: 1 + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': True, 'apz.paint_skipping.enabled': False, 'layout.css.scroll-behavior.spring-constant': "'10'", 'toolkit.framesRecording.bufferSize': 10000} + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/scroll/scroll.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 25 + * **unit**: ms + +.. dropdown:: tsvg_static + :container: + anchor-id-tsvg_static-Talos + + * **gecko_profile_entries**: 10000000 + * **gecko_profile_interval**: 1 + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/svg_static/svg_static.manifest + * **tpmozafterpaint**: True + * **tppagecycles**: 25 + * **unit**: ms + +.. dropdown:: tsvgm + :container: + anchor-id-tsvgm-Talos + + * **gecko_profile_entries**: 1000000 + * **gecko_profile_interval**: 10 + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': False} + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/svgx/svgm.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 7 + * **unit**: ms + +.. dropdown:: tsvgr_opacity + :container: + anchor-id-tsvgr_opacity-Talos + + * **gecko_profile_entries**: 10000000 + * **gecko_profile_interval**: 1 + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/svg_opacity/svg_opacity.manifest + * **tpmozafterpaint**: True + * **tppagecycles**: 25 + * **unit**: ms + +.. dropdown:: tsvgx + :container: + anchor-id-tsvgx-Talos + + * **gecko_profile_entries**: 1000000 + * **gecko_profile_interval**: 10 + * **preferences**: {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1, 'dom.send_after_paint_to_content': False} + * **timeout**: 600 + * **tpchrome**: False + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/svgx/svgx.manifest + * **tpmozafterpaint**: False + * **tppagecycles**: 25 + * **unit**: ms + +.. dropdown:: twinopen + :container: + anchor-id-twinopen-Talos + + * **extensions**: ['${talos}/pageloader', '${talos}/tests/twinopen'] + * **gecko_profile_entries**: 2000000 + * **gecko_profile_interval**: 1 + * **preferences**: {'browser.startup.homepage': 'about:blank'} + * **timeout**: 300 + * **tpmanifest**: ${talos}/tests/twinopen/twinopen.manifest + * **tpmozafterpaint**: True + * **tppagecycles**: 20 + * **unit**: ms + +.. dropdown:: v8_7 + :container: + anchor-id-v8_7-Talos + + * **gecko_profile_entries**: 1000000 + * **gecko_profile_interval**: 1 + * **lower_is_better**: False + * **preferences**: {'dom.send_after_paint_to_content': False} + * **resolution**: 20 + * **tpcycles**: 1 + * **tpmanifest**: ${talos}/tests/v8_7/v8.manifest + * **tpmozafterpaint**: False + * **unit**: score + + + Build metrics ************* diff --git a/testing/talos/perfdocs/config.yml b/testing/talos/perfdocs/config.yml index 469f81e30ad72..400182edf2ac5 100644 --- a/testing/talos/perfdocs/config.yml +++ b/testing/talos/perfdocs/config.yml @@ -4,5 +4,57 @@ --- name: talos manifest: None -static-only: True -suites: {} +static-only: False +suites: + Talos Tests: + description: "Talos test lists" + tests: + ARES6: "" + JetStream: "" + a11yr: "" + about_preferences_basic: "" + basic_compositor_video: "" + cpstartup: "" + cross_origin_pageload: "" + damp: "" + displaylist_mutate: "" + dromaeo_css: "" + dromaeo_dom: "" + glterrain: "" + glvideo: "" + kraken: "" + motionmark_animometer: "" + motionmark_htmlsuite: "" + motionmark_webgl: "" + pdfpaint: "" + perf_reftest: "" + perf_reftest_singletons: "" + rasterflood_gradient: "" + rasterflood_svg: "" + sessionrestore: "" + sessionrestore_many_windows: "" + sessionrestore_no_auto_restore: "" + startup_about_home_paint: "" + startup_about_home_paint_cached: "" + startup_about_home_paint_realworld_webextensions: "" + stylebench: "" + tabpaint: "" + tabswitch: "" + tart: "" + tart_flex: "" + tp5n: "" + tp5o: "" + tp5o_scroll: "" + tp5o_webext: "" + tresize: "" + ts_paint: "" + ts_paint_flex: "" + ts_paint_heavy: "" + ts_paint_webext: "" + tscrollx: "" + tsvg_static: "" + tsvgm: "" + tsvgr_opacity: "" + tsvgx: "" + twinopen: "" + v8_7: "" diff --git a/testing/talos/perfdocs/index.rst b/testing/talos/perfdocs/index.rst index fc0cea4afe9ca..5697d1c62cc89 100644 --- a/testing/talos/perfdocs/index.rst +++ b/testing/talos/perfdocs/index.rst @@ -2039,6 +2039,8 @@ Notes: stable statistics (xref `bug 1616236 `__) +{documentation} + Build metrics ************* diff --git a/tools/lint/perfdocs/framework_gatherers.py b/tools/lint/perfdocs/framework_gatherers.py index acf5b33cf7884..b735d34e3f32c 100644 --- a/tools/lint/perfdocs/framework_gatherers.py +++ b/tools/lint/perfdocs/framework_gatherers.py @@ -333,6 +333,41 @@ def build_suite_section(self, title, content): return self._build_section_with_header(title, content, header_type="H4") +class TalosGatherer(FrameworkGatherer): + def get_test_list(self): + from talos import test as talos_test + + test_lists = talos_test.test_dict() + mod = __import__("talos.test", fromlist=test_lists) + + suite_name = "Talos Tests" + + for test in test_lists: + self._test_list.setdefault(suite_name, {}).update({test: ""}) + + klass = getattr(mod, test) + self._descriptions.setdefault(test, klass.__dict__) + + return self._test_list + + def build_test_description(self, title, test_description="", suite_name=""): + result = f".. dropdown:: {title}\n" + result += f" :container: + anchor-id-{title}-{suite_name.split()[0]}\n\n" + + for key in sorted(self._descriptions[title]): + if key.startswith("__") and key.endswith("__"): + continue + elif key == "filters": + continue + + result += f" * **{key}**: {self._descriptions[title][key]}\n" + + return [result] + + def build_suite_section(self, title, content): + return self._build_section_with_header(title, content, header_type="H3") + + class StaticGatherer(FrameworkGatherer): """ A noop gatherer for frameworks with static-only documentation. diff --git a/tools/lint/perfdocs/gatherer.py b/tools/lint/perfdocs/gatherer.py index d5a9da5f1aecd..6d1404cc23ee0 100644 --- a/tools/lint/perfdocs/gatherer.py +++ b/tools/lint/perfdocs/gatherer.py @@ -12,6 +12,7 @@ MozperftestGatherer, RaptorGatherer, StaticGatherer, + TalosGatherer, ) logger = PerfDocLogger() @@ -20,6 +21,7 @@ frameworks = { "raptor": RaptorGatherer, "mozperftest": MozperftestGatherer, + "talos": TalosGatherer, } diff --git a/tools/lint/test/test_perfdocs.py b/tools/lint/test/test_perfdocs.py index 0a7b9cf1318bb..71a4250eb55d1 100644 --- a/tools/lint/test/test_perfdocs.py +++ b/tools/lint/test/test_perfdocs.py @@ -481,6 +481,12 @@ def test_perfdocs_framework_gatherers(logger, structured_logger, perfdocs_sample "Example": perfdocs_sample["manifest"] } + if framework == "talos": + for suite, suitetests in fg.get_test_list().items(): + assert suite == "Talos Tests" + assert suitetests + continue + for suite, suitetests in fg.get_test_list().items(): assert suite == "suite" for test, manifest in suitetests.items():