18da9c78ded6dc39a4a5b0b3bcca7c49a76b5792: Bug 1673513 - Use ProgressLogger in Gecko Profiler - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:50:13 +0000 - rev 4180315
Push 771639 by reviewbot at Fri, 21 Jan 2022 06:51:47 +0000
Bug 1673513 - Use ProgressLogger in Gecko Profiler - r?florian Summary: Add `ProgressLogger` parameter to most JSON-generating functions. Each function can update the given `ProgressLogger` between 0% and 100%, and create sub-loggers when calling functions. The main goal of this instrumentation is to notice when any progress is made by child processes (when the parent process is gathering profiles), so it needs to go deep enough so that it is not stuck on a progress value for "too long" -- During development, that meant progress was always happening when observed every 10ms; In later patches, the overall timeout for no-progress-made will be at least 1 second. Differential Revision: https://phabricator.services.mozilla.com/D135479 Depends on D135478 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-grcjfjshalt76o6zwaky
d6d1bd66191a71f57a5cbd4d731297c1575e10d9: Bug 1673513 - ProgressLogger - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:50:08 +0000 - rev 4180314
Push 771639 by reviewbot at Fri, 21 Jan 2022 06:51:47 +0000
Bug 1673513 - ProgressLogger - r?florian Summary: Class used to log the progress of long operations, and simplifying the use through nested function calls and loops. Differential Revision: https://phabricator.services.mozilla.com/D135478 Depends on D135477 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-rtm2vx7a4q55277ybl5k
5498af1eca77892e722fecd3fb1e242c2a2703d7: Bug 1673513 - ProportionValue - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:50:04 +0000 - rev 4180313
Push 771639 by reviewbot at Fri, 21 Jan 2022 06:51:47 +0000
Bug 1673513 - ProportionValue - r?florian Summary: Class storing a value between 0 and 1, effectively 0% to 100%. It will be used through a ProgressLogger object to track the progress of JSON profile generation (see following patches). Differential Revision: https://phabricator.services.mozilla.com/D135477 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-jk3uaiae5vprflnpuv64
245b1e0795793ca869c31a1150b43a8e376fa684: Try Chooser Enhanced (35 tasks selected) draft
Daisuke Akatsuka <daisuke@birchill.co.jp> - Fri, 21 Jan 2022 15:47:10 +0900 - rev 4180312
Push 771638 by dakatsuka.birchill@mozilla.com at Fri, 21 Jan 2022 06:50:56 +0000
Try Chooser Enhanced (35 tasks selected) Pushed via `mach try chooser`
076f9a508cc9a3555dcbad4033457b5900794af7: Bug 1749397: Ignore char key input while processing enter key on searchbar. draft
Daisuke Akatsuka <daisuke@birchill.co.jp> - Tue, 18 Jan 2022 10:04:18 +0900 - rev 4180311
Push 771638 by dakatsuka.birchill@mozilla.com at Fri, 21 Jan 2022 06:50:56 +0000
Bug 1749397: Ignore char key input while processing enter key on searchbar.
742e6f390de65f3d39f9dd6cce63641bcc147c95: Bug 1749397: Ignore char key input while processing enter key on urlbar. draft
Daisuke Akatsuka <daisuke@birchill.co.jp> - Tue, 18 Jan 2022 09:17:07 +0900 - rev 4180310
Push 771638 by dakatsuka.birchill@mozilla.com at Fri, 21 Jan 2022 06:50:56 +0000
Bug 1749397: Ignore char key input while processing enter key on urlbar.
df47a06dcfa2ea9a64150efea803e46754c781c5: try_task_config for https://phabricator.services.mozilla.com/D135482 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Fri, 21 Jan 2022 06:44:57 +0000 - rev 4180309
Push 771637 by reviewbot at Fri, 21 Jan 2022 06:50:09 +0000
try_task_config for https://phabricator.services.mozilla.com/D135482 Differential Diff: PHID-DIFF-grxugf6u4qj3vv4qq2zf
7f75da2c3ef2b080649d4482a1bcbe716d208e1c: Bug 1673513 - Maintain list of pending profiles, each with child pid - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:44:52 +0000 - rev 4180308
Push 771637 by reviewbot at Fri, 21 Jan 2022 06:50:09 +0000
Bug 1673513 - Maintain list of pending profiles, each with child pid - r?florian Summary: Instead of just waiting for a certain number of profiles, the parent process now waits for profiles from a predetermined list of child process ids. When receiving a profile, or when something goes wrong with a child process, the corresponding listed id can be removed, until the list is empty. In a later patch, this list will be used to request progress updates from slow processes. Differential Revision: https://phabricator.services.mozilla.com/D135482 Depends on D135481 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-grxugf6u4qj3vv4qq2zf
9965cac3583920f4432ebfd9a85c06bb1992611a: Bug 1673513 - ProfilerParent::GatherProfiles() also returns the child pid - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:44:49 +0000 - rev 4180307
Push 771637 by reviewbot at Fri, 21 Jan 2022 06:50:09 +0000
Bug 1673513 - ProfilerParent::GatherProfiles() also returns the child pid - r?florian Summary: This will be useful to tie profiles to the child process id that generated them. (At the moment, the parent waits for a number of profiles, but doesn't check where received profiles actually come from.) Differential Revision: https://phabricator.services.mozilla.com/D135481 Depends on D135480 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-4lvdv4m55jgde4hyei3v
74b280d52028278d4fc0e4c929fd7c9bf1c1ff5f: Bug 1673513 - Reserve the array space in advance in ProfilerParent::GatherProfiles - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:44:45 +0000 - rev 4180306
Push 771637 by reviewbot at Fri, 21 Jan 2022 06:50:09 +0000
Bug 1673513 - Reserve the array space in advance in ProfilerParent::GatherProfiles - r?florian Summary: A small optimization while working on nearby code, so avoid multiple allocations when we already know how much memory we really need. Differential Revision: https://phabricator.services.mozilla.com/D135480 Depends on D135479 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-vepb4gkxkdfsay4eog7k
674fd5fd82c2a149696dfb018dcee6a5235d7dd2: Bug 1673513 - Use ProgressLogger in Gecko Profiler - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:44:42 +0000 - rev 4180305
Push 771637 by reviewbot at Fri, 21 Jan 2022 06:50:09 +0000
Bug 1673513 - Use ProgressLogger in Gecko Profiler - r?florian Summary: Add `ProgressLogger` parameter to most JSON-generating functions. Each function can update the given `ProgressLogger` between 0% and 100%, and create sub-loggers when calling functions. The main goal of this instrumentation is to notice when any progress is made by child processes (when the parent process is gathering profiles), so it needs to go deep enough so that it is not stuck on a progress value for "too long" -- During development, that meant progress was always happening when observed every 10ms; In later patches, the overall timeout for no-progress-made will be at least 1 second. Differential Revision: https://phabricator.services.mozilla.com/D135479 Depends on D135478 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-grcjfjshalt76o6zwaky
4d7c6b13e6bd4c013e9d6ba7f0b03d63eeb7fd5e: Bug 1673513 - ProgressLogger - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:44:38 +0000 - rev 4180304
Push 771637 by reviewbot at Fri, 21 Jan 2022 06:50:09 +0000
Bug 1673513 - ProgressLogger - r?florian Summary: Class used to log the progress of long operations, and simplifying the use through nested function calls and loops. Differential Revision: https://phabricator.services.mozilla.com/D135478 Depends on D135477 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-rtm2vx7a4q55277ybl5k
4038397bcab892da8dc67fe9d969cdf46b7836b7: Bug 1673513 - ProportionValue - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:44:33 +0000 - rev 4180303
Push 771637 by reviewbot at Fri, 21 Jan 2022 06:50:09 +0000
Bug 1673513 - ProportionValue - r?florian Summary: Class storing a value between 0 and 1, effectively 0% to 100%. It will be used through a ProgressLogger object to track the progress of JSON profile generation (see following patches). Differential Revision: https://phabricator.services.mozilla.com/D135477 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-jk3uaiae5vprflnpuv64
ec48c3b6558eea3f387311402c019f0c99f80eca: try_task_config for https://phabricator.services.mozilla.com/D135484 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Fri, 21 Jan 2022 06:45:22 +0000 - rev 4180302
Push 771636 by reviewbot at Fri, 21 Jan 2022 06:49:22 +0000
try_task_config for https://phabricator.services.mozilla.com/D135484 Differential Diff: PHID-DIFF-4eq7w3lcywi4haj6uoxn
175b21d360f7b199ed365e294e46b53e3359d7ab: Bug 1673513 - Generate profile in new worker thread, and log its progress - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:45:18 +0000 - rev 4180301
Push 771636 by reviewbot at Fri, 21 Jan 2022 06:49:22 +0000
Bug 1673513 - Generate profile in new worker thread, and log its progress - r?florian Summary: In order to keep the child process responsive to profile IPCs, the heavy work of generating the profile JSON is now done in a separate thread. A `ProgressLogger` is used to keep track of the progress of this work, and the progress value is stored in a shared atomic `ProportionValue`. When the JSON profile is ready, the final shmem allocation (used to send the profile to the parent process) is done on the original "ProfilerChild" IPC thread. Differential Revision: https://phabricator.services.mozilla.com/D135484 Depends on D135483 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-4eq7w3lcywi4haj6uoxn
90105642ac078acefc08cc12bc5cff8ef22db991: Bug 1673513 - profiler_get_profile_json(SpliceableChunkedJSONWriter&, ...) - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:45:15 +0000 - rev 4180300
Push 771636 by reviewbot at Fri, 21 Jan 2022 06:49:22 +0000
Bug 1673513 - profiler_get_profile_json(SpliceableChunkedJSONWriter&, ...) - r?florian Summary: The main goal is to separate the profile generation (in a JSONWriter) from the final allocation needed to output the profile in one block. This will be needed in the next patch, where the profile generation will be done in a new worker thread, but the shmem allocation *must* be done on the original "ProfilerChild" thread that handles IPC responses. Differential Revision: https://phabricator.services.mozilla.com/D135483 Depends on D135482 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-pobe4n5tj44uxemq5k5a
d191cd61590f0b447565801afbb5e91bf9bfc6f9: Bug 1673513 - Maintain list of pending profiles, each with child pid - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:45:11 +0000 - rev 4180299
Push 771636 by reviewbot at Fri, 21 Jan 2022 06:49:22 +0000
Bug 1673513 - Maintain list of pending profiles, each with child pid - r?florian Summary: Instead of just waiting for a certain number of profiles, the parent process now waits for profiles from a predetermined list of child process ids. When receiving a profile, or when something goes wrong with a child process, the corresponding listed id can be removed, until the list is empty. In a later patch, this list will be used to request progress updates from slow processes. Differential Revision: https://phabricator.services.mozilla.com/D135482 Depends on D135481 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-grxugf6u4qj3vv4qq2zf
f8aada2b4273242987e166ec601b06ad68874ca8: Bug 1673513 - ProfilerParent::GatherProfiles() also returns the child pid - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:45:08 +0000 - rev 4180298
Push 771636 by reviewbot at Fri, 21 Jan 2022 06:49:22 +0000
Bug 1673513 - ProfilerParent::GatherProfiles() also returns the child pid - r?florian Summary: This will be useful to tie profiles to the child process id that generated them. (At the moment, the parent waits for a number of profiles, but doesn't check where received profiles actually come from.) Differential Revision: https://phabricator.services.mozilla.com/D135481 Depends on D135480 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-4lvdv4m55jgde4hyei3v
344886bba6d91b7cc1792c1d1036239ba961a7d8: Bug 1673513 - Reserve the array space in advance in ProfilerParent::GatherProfiles - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:45:04 +0000 - rev 4180297
Push 771636 by reviewbot at Fri, 21 Jan 2022 06:49:22 +0000
Bug 1673513 - Reserve the array space in advance in ProfilerParent::GatherProfiles - r?florian Summary: A small optimization while working on nearby code, so avoid multiple allocations when we already know how much memory we really need. Differential Revision: https://phabricator.services.mozilla.com/D135480 Depends on D135479 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-vepb4gkxkdfsay4eog7k
b41c242b9afbe8194cbe38793feea169a1e8e972: Bug 1673513 - Use ProgressLogger in Gecko Profiler - r?florian draft
Gerald Squelart <gsquelart@mozilla.com> - Fri, 21 Jan 2022 06:45:01 +0000 - rev 4180296
Push 771636 by reviewbot at Fri, 21 Jan 2022 06:49:22 +0000
Bug 1673513 - Use ProgressLogger in Gecko Profiler - r?florian Summary: Add `ProgressLogger` parameter to most JSON-generating functions. Each function can update the given `ProgressLogger` between 0% and 100%, and create sub-loggers when calling functions. The main goal of this instrumentation is to notice when any progress is made by child processes (when the parent process is gathering profiles), so it needs to go deep enough so that it is not stuck on a progress value for "too long" -- During development, that meant progress was always happening when observed every 10ms; In later patches, the overall timeout for no-progress-made will be at least 1 second. Differential Revision: https://phabricator.services.mozilla.com/D135479 Depends on D135478 Test Plan: Reviewers: florian Subscribers: Bug #: 1673513 Differential Diff: PHID-DIFF-grcjfjshalt76o6zwaky
(0) -3000000 -1000000 -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip