Профилирование производительности Thunderbird

Thunderbird Thunderbird Последнее обновление: 2 дня назад

Проведение диагностики производительности может помочь разработчикам выявить причины высокой загрузки ЦП, замедлений или чрезмерного потребления памяти в Thunderbird.

Прежде чем начать, проверьте, исчезает ли проблема при запуске Thunderbird в Безопасном режиме. Также может быть полезно пройтись по контрольному списку производительности на вики.

Для некоторых типов диагностики требуется использовать версию Thunderbird для разработки, доступную на странице загрузки Thunderbird.

Для диагностики производительности используется инструмент под названием профилировщик производительности. Thunderbird использует профилировщик Firefox, поэтому в некоторых диалоговых окнах могут встречаться упоминания Firefox. Документация по профилировщику Firefox превосходна, но обычно не требуется, если только вы не столкнётесь с трудностями или не захотите выполнить специальные задачи, такие как профилирование запуска. В документации каждое упоминание слова «Firefox» следует понимать как «Thunderbird».

Подготовка профилировщика производительности

Профилировщик производительности является частью Инструментов разработчика.

Открытие Инструментов разработчика

В главном окне Thunderbird откройте инструменты разработчика:

  1. Используйте сочетание клавиш Ctrl + Shift + Icommand + option + I или нажмите кнопку меню в Thunderbird IG main menu и выберите Инструменты.
  2. В меню выберите Инструменты разработчика. Появится запрос на входящее соединение.

    Важно! Чтобы разрешить инструментам разработчика подключиться к Thunderbird, вы должны подтвердить соединение в появившемся запросе. Окно запроса может быть скрыто за другими окнами Thunderbird.
  3. Нажмите ОК. Откроется окно Инструменты разработчика. В текущих версиях Thunderbird видна вкладка Профайлер, и при нажатии на неё отображается кнопка Начать запись.
    Если вкладка не видна:
    • Нажмите F1 или нажмите кнопку horizontal3-dot в правом верхнем углу окна и выберите Параметры. Откроется окно настроек инструментов разработчика.
    • Убедитесь, что в разделе Инструменты разработчика по умолчанию включена опция [✓] Профайлер. Если она не включена:
    • включите её, затем нажмите на вкладку Профайлер, которая появится в верхней части окна инструментов разработчика.

Настройка параметров профилировщика

Чтобы настроить параметры профилировщика:

  1. В нижней части вкладки Профайлер нажмите Изменить настройки…. Откроется окно Thunderbird с активной вкладкой настроек профилировщика.
  2. В разделе Настройки профилировщика включите переключатель Thunderbird (в ночных/транковых версиях — кнопку Daily). После изменения других параметров эта кнопка автоматически деактивируется, и станет активной кнопка Custom.
  3. В разделе Возможности установите флажок All File IO.
  4. Чтобы защитить конфиденциальность или уменьшить использование памяти, прокрутите вниз и снимите флажок Скриншоты.
  5. При необходимости измените другие настройки. Например:
    • Измените опцию Собственные распределения, доступную в Thunderbird Daily, если вы диагностируете высокое использование памяти.
    • Увеличьте размер буфера с 1 ГБ до 2 ГБ и увеличьте интервал выборки сверх 1 мс по умолчанию, если для воспроизведения проблемы требуется более одной минуты записи или если включены дополнительные сборы данных.
  6. Закройте окно настроек профилировщика с помощью элементов управления окном — кнопок OK или Save нет.

Запись диагностики производительности

Важно! Перед началом записи по возможности подготовьте чёткий сценарий тестирования. Если не указано иное, запись должна быть как можно короче и включать только те действия, которые предположительно вызывают проблему. С момента начала записи задокументируйте, через сколько секунд проблема начинается и заканчивается, и укажите это в своём отчёте о профиле производительности.

Когда профилировщик и сценарий тестирования будут готовы, вы можете начать запись и сохранение диагностики производительности.

  1. На вкладке Профайлер окна инструментов разработчика нажмите кнопку Начать запись.
    Примечание. На панели инструментов может появиться значок предупреждения. При нажатии на него в нижней части окна открывается консоль с сообщением «Failed to get the active browserId while starting the profiler» — это можно игнорировать.
  2. После начала записи быстро вернитесь в главное окно Thunderbird и выполните действия из вашего сценария тестирования.
  3. По завершении немедленно вернитесь в окно инструментов разработчика и нажмите Захватить запись, чтобы остановить сбор данных. Появится короткое сообщение Захват профиля, после чего откроется окно профилировщика Firefox с записанными данными.

Сохранение и передача результатов диагностики производительности

Чтобы сохранить и поделиться результатами диагностики производительности:

  1. Нажмите кнопку Выгрузить локальный профиль в правом верхнем углу окна профилировщика.
    profiler_result
  2. На панели «Поделиться профилем производительности» установите флажки для любой частной информации, которую вы хотите включить. По умолчанию в профиль производительности не включается никакая частная информация.
    profiler_share
  3. Нажмите кнопку performance_download, чтобы сохранить файл JSON локально. Затем вы можете отправить его по электронной почте или прикрепить к отчёту об ошибке.
  4. Нажмите кнопку profiler_upload, чтобы загрузить профиль в репозиторий профилировщика Firefox и сгенерировать прямую ссылку (постоянную ссылку). Ссылка станет доступна после нажатия кнопки Постоянная ссылка в окне профилировщика. Вы можете скопировать её и поделиться ею с разработчиками или другими людьми, которые могут помочь диагностировать проблему, или прикрепить её к новому или существующему отчёту об ошибке в Bugzilla (BMO).
    profiler_link
  5. Закройте окно профилировщика производительности.
  6. Закройте окно инструментов разработчика.

Диагностика запуска и завершения работы Thunderbird

Диагностика запуска или завершения работы требует следования специальным, но очень простым инструкциям. Как и прежде, каждое упоминание слова «Firefox» следует понимать как «Thunderbird».

Эти прекрасные люди помогли написать эту статью:

Illustration of hands

Станьте волонтёром

Растите и делитесь опытом с другими. Отвечайте на вопросы и улучшайте нашу базу знаний.

Подробнее