For a fully-featured workaround with all profiler data, you can do the following: 1. Run Thunderbird Daily for best results. (Release Thunderbird doesn't have full stacks on macOS.) 2. Open the error console, for example using Cmd+Shift+J. 3. Run the following command to start the profiler: ```js Services.profiler.StartProfiler(10000000, 1.0, ["default"], ["GeckoMain", "Compositor", "Renderer", "DOM Worker"]) // Parameters: buffer size in bytes, sampling interval in float milliseconds, profiler features, thread filter ``` 4. Reproduce the slow interaction. 5. Save the recording to a file, by executing the following in the error console (adjust the path): ```js await Services.profiler.dumpProfileToFileAsync("/Users/mstange/Desktop/thunderbird-profile.json") // (on Windows, make sure to escape any backslashes) ``` 6. Stop the profiler: ```js Services.profiler.StopProfiler() ```
Bug 1631919 Comment 29 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
For a fully-featured workaround with all profiler data, you can do the following: 1. Run Thunderbird Daily for best results. (Release Thunderbird doesn't have full stacks on macOS.) 2. Open the error console, for example using Cmd+Shift+J. 3. Run the following command to start the profiler: ```js Services.profiler.StartProfiler(10000000, 1.0, ["default"], ["GeckoMain", "Compositor", "Renderer", "DOM Worker"]) // Parameters: buffer size in bytes, sampling interval in float milliseconds, profiler features, thread filter ``` 4. Reproduce the slow interaction. 5. Save the recording to a file, by executing the following in the error console (adjust the path): ```js await Services.profiler.dumpProfileToFileAsync("/Users/mstange/Desktop/thunderbird-profile.json") // (on Windows, make sure to escape any backslashes) ``` 6. Stop the profiler: ```js Services.profiler.StopProfiler() ``` 7. In Firefox, go to [profiler.firefox.com](https://profiler.firefox.com/) and load the file into it (using drag and drop or using the file picker).
For a fully-featured workaround with all profiler data, you can do the following: 1. Run Thunderbird Daily for best results. (Release Thunderbird doesn't have full stacks on macOS.) 2. Open the error console, for example using Cmd+Shift+J. 3. Run the following command to start the profiler: ```js Services.profiler.StartProfiler(10000000, 1.0, ["stackwalk", "leaf", "js", "cpu", "screenshots"], ["GeckoMain", "Compositor", "Renderer", "DOM Worker"]) // Parameters: buffer size in bytes, sampling interval in float milliseconds, profiler features, thread filter ``` 4. Reproduce the slow interaction. 5. Save the recording to a file, by executing the following in the error console (adjust the path): ```js await Services.profiler.dumpProfileToFileAsync("/Users/mstange/Desktop/thunderbird-profile.json") // (on Windows, make sure to escape any backslashes) ``` 6. Stop the profiler: ```js Services.profiler.StopProfiler() ``` 7. In Firefox, go to [profiler.firefox.com](https://profiler.firefox.com/) and load the file into it (using drag and drop or using the file picker).
For a fully-featured workaround with all profiler data, you can do the following: 1. Run Thunderbird Daily for best results. (Release Thunderbird doesn't have full stacks on macOS.) 2. Open the error console, for example using Cmd+Shift+J. 3. Run the following command to start the profiler: ```js Services.profiler.StartProfiler(10000000, 1.0, ["stackwalk", "js", "cpu", "screenshots"], ["GeckoMain", "Compositor", "Renderer", "DOM Worker"]) // Parameters: buffer size in bytes, sampling interval in float milliseconds, profiler features, thread filter ``` 4. Reproduce the slow interaction. 5. Save the recording to a file, by executing the following in the error console (adjust the path): ```js await Services.profiler.dumpProfileToFileAsync("/Users/mstange/Desktop/thunderbird-profile.json") // (on Windows, make sure to escape any backslashes) ``` 6. Stop the profiler: ```js Services.profiler.StopProfiler() ``` 7. In Firefox, go to [profiler.firefox.com](https://profiler.firefox.com/) and load the file into it (using drag and drop or using the file picker).