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()
```
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).

Back to Bug 1631919 Comment 29