Что нового в dotTrace

Здесь вы узнаете о новых возможностях в свежих версиях dotTrace. Обновления включают в себя поддержку Visual Studio и JetBrains Rider, а также упрощенное профилирование асинхронного кода.

Скачать dotTrace

Доступна бесплатная пробная версия на 30 дней

Поддержка приложений MAUI

Поддержка приложений MAUI 2024.1

В новой версии можно профилировать приложения на основе фреймворка MAUI.

В настоящее время dotTrace поддерживает:

  • macOS — приложения Mac Catalyst на .NET 7.0+. Только хронологический режим профилирования.
  • Windows — приложения WinUI на .NET 7.0+. Поддерживаются все типы профилирования. Подключение к уже запущенным приложениям доступно только в хронологическом режиме и режиме сэмплирования.

Это касается и автономного dotTrace, и встроенного dotTrace в Rider и ReSharper.

Предустановки профилирования

Предустановки профилирования 2024.1

В dotTrace появились предустановки пользовательского интерфейса. Они позволяют отобразить в интерфейсе только те настройки профилирования, которые актуальны для конкретного приложения: General (все типы приложений), Unity developer и Unreal Engine developer.

Улучшенная поддержка macOS 2024.1

Мы улучшили профилирование на macOS:

  • Новая версия автономного инструмента dotTrace позволяет указывать пакеты приложений (.app) вместо исполняемых файлов.
  • dotTrace в Rider может профилировать конфигурации запуска macOS. Поддерживаются следующие целевые фреймворки: net7.0-macos, net8.0-macos, net7.0-maccatalyst, net8.0-maccatalyst, Xamarin.Mac.
Улучшенные настройки режима профилирования Timeline

Улучшенные настройки режима профилированияTimeline 2023.3

Теперь при настройке сеанса профилирования Timeline можно настроить следующие параметры:

  • Sampling rate — позволяет, меняя частоту выборки, найти баланс между производительностью профилируемого приложения и точностью данных.
  • Sample allocations every … KB для нативного выделения ресурсов — позволяет улучшить эффективность анализа снэпшотов, сократив объем собираемых данных, то есть размер снэпшотов.
  • Download in background для нативных файлов символов — файлы будут скачиваться в ходе сеанса профилирования.
Профилирование данных в представлении Source

Профилирование данных в представлении Source 2023.3

Теперь вы можете не анализировать дерево вызовов Call Tree, а просматривать данные профилирования производительности прямо в исходном коде. Представление Source показывает информацию о распределении времени по отдельным строкам кода. В настоящее время функция доступна только для снэпшотов Timeline, созданных в Windows.

Улучшенный анализ нативного кода 2023.3

  • Для снэпшотов Timeline, созданных в Windows, теперь можно посмотреть исходный код нативных методов.
  • В новой версии по умолчанию отображаются нативные потоки, если нет управляемых потоков.

Другие улучшения 2023.3

  • Хронологический режим профилирования теперь поддерживает поставщика данных System.Data.SqlClient из фреймворков .NET и .NET Core. Соответствующие события можно посмотреть с помощью фильтра запросов SQL.
  • Метрики производительности в новой версии можно посмотреть в окне поиска в инструменте просмотра dotTrace.
  • В Linux и macOS теперь доступна поддержка интеграции со сторонними инструментами.

Группировка по потокам для снэпшотов сэмплинг-анализа, анализа трассировки и построчного анализа производительности 2023.2

Теперь в представлении Call Tree можно сгруппировать стеки вызовов по потокам, чтобы было удобнее анализировать проблемы с производительностью, характерные для конкретных потоков.

Окно Source View в Linux и macOS 2023.2

В автономной версии dotTrace для Linux и macOS появилось окно Source View. Если выбран вызов в Call Tree, в окне Source View будет показан исходный код соответствующего метода.

Другие улучшения и исправления 2023.2

  • Для снэпшотов Timeline обновленный dotTrace Viewer показывает имена нативных потоков, а не просто обозначает их как Native. Эта функция будет удобна тем, кто разрабатывает на Unity, поскольку они смогут различать отдельные потоки Unity. Доступно только в Windows.
  • В окне Source View в dotTrace Viewer теперь отображается количество вызовов каждой строки кода.

dotTrace для macOS и Linux Бета 2023.1

Теперь для Linux и macOS доступна автономная версия dotTrace. Благодаря этому в этих операционных системах можно выполнять полное профилирование, включая сбор и анализ снэпшотов производительности.

Поддержка Windows ARM64 2022.3

Теперь dotTrace можно использовать в Windows на процессорах ARM64. Это относится ко всем версиям dotTrace: и к автономной, и к инструменту, запускаемому в Rider, Visual Studio и из консоли.

Поддержка Linux ARM32 2022.3

Теперь можно использовать консольную версию dotTrace в Linux на процессорах ARM32. Поддерживаемые фреймворки — .NET Core 3.1 и .NET 5.0–7.0. Обратите внимание, что хронологический режим профилирования поддерживается только для приложений .NET 6.0.

Отказ от Performance Viewer 2022.3

Раньше снэпшоты сэмплинг-анализа, анализа трассировки и построчного анализа производительности приходилось открывать в устаревшем Performance Viewer, в то время как хронологические снэпшоты открывались в более современном Timeline Viewer. Это было неудобно, поскольку у этих средств просмотра разные интерфейсы и подходы к анализу снэпшотов.

Мы решили отказаться от Performance Viewer в пользу dotTrace Viewer (бывшего Timeline Viewer). В нем будут открываться снэпшоты любого типа. Вы можете и дальше пользоваться Performance Viewer, но нам хотелось бы узнать, почему вы его предпочитаете. Мы всегда рады вашим отзывам!

Улучшенный анализ снэпшотов 2022.3

Поскольку Viewer теперь поддерживает все типы снэпшотов, вы можете использовать его мощные возможности для их сравнения:

  • Новое «сравнение как фильтр» облегчает сравнение снэпшотов при сэмплинг-анализе, анализе трассировки и построчном анализе.
  • На таких снэпшотах теперь можно фильтровать подсистемы.
  • Во Viewer теперь есть представление Plain List. Оно доступно для всех режимов профилирования.

Улучшенная поддержка нативных системных вызовов 2022.2

dotTrace теперь предоставляет более подробную информацию о нативных системных вызовах в Timeline Call Tree, включая вызовы ядра Windows (ntoskrnl.exe), вызовы драйверов устройств (*.sys) и многие другие.

Улучшения dotTrace в JetBrains Rider 2022.2

Для запуска профилирования больше не нужно перезапускать редактор Unity — профилировщик может сам подключаться к запущенным процессам Unity и отключаться от них.

Поддержка дистрибутивов Linux на основе musl 2022.1

dotTrace в Rider и консольный инструмент dotTrace теперь поддерживают Alpine версий 3.13–3.15. Поддерживаются следующие процессоры и фреймворки:

  • x64: .NET Core 3.1, .NET 5.0–6.0;
  • arm64: .NET 5.0–6.0.

Поддержка формата .NET Core NetTrace 2022.1

Теперь вы можете открывать файлы NetTrace, собранные с помощью dotnet-trace collect:, из меню Home: для этого нажмите Open Snapshot и выберите файл .nettrace.

Улучшенная поддержка событий SQL Server 2022.1

Теперь dotTrace поддерживает события SQL Server провайдера Microsoft.Data.SqlClient на Windows (.NET Core, .NET 5+), а также на macOS и Linux (.NET Core 3.0+, .NET 5+).

Навигация с клавиатуры в окне Home 2022.1

Теперь по окну Home можно перемещаться с помощью сочетаний клавиш, не используя мышь. Каждому элементу интерфейса назначена клавиша или комбинация клавиш. Чтобы просмотреть назначенные клавиши и взаимодействовать с элементами интерфейса:

  • удерживайте Alt и нажмите нужную клавишу или комбинацию клавиш (работает по умолчанию) либо
  • перед нажатием на клавишу (или комбинацию клавиш) нажмите на клавишу-переключатель.

Предпочтительный способ можно выбрать в меню Home | Settings.

Подключение к приложениям при помощи Drag-and-Drop 2022.1

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

Улучшенная страница Snapshots в окне Home 2022.1

  • Имя снэпшота теперь можно редактировать.
  • Чтобы открыть снэпшот, достаточно перетащить соответствующий файл в окно Home.
  • Список снэпшотов остается в отсортированном состоянии, даже если вы перезапускаете dotTrace.
  • В списке снэпшотов используется формат дат, принятый в вашей системе.

Другие улучшения 2022.1

  • Автоматическое сохранение снэпшотов теперь можно отключить. В таком случае при закрытии Timeline или Performance Viewer, dotTrace спросит вас, хотите ли вы сохранить полученные снэпшоты.
  • В Timeline Viewer теперь можно закреплять потоки в фильтре Threads.
  • У окна Configuration2Xml теперь такой же интерфейс, как у окна Home в dotTrace.

Поддержка процессоров Apple Silicon 2021.3

Консольный инструмент dotTrace теперь работает на компьютерах с процессорами Apple Silicon. Вы можете использовать его для профилирования приложений .NET 6 (нативный режим) и приложений .NET 5 (режим «Rosetta 2»).

Улучшения производительности 2021.3

  • Мы оптимизировали потребление ресурсов при хронологическом профилировании (режим «Timeline») для приложений, часто использующих асинхронные вызовы.
  • Снэпшоты хронологического профилирования теперь быстрее открываются, а также быстрее выполняют фильтрацию.

Сохранение состояния интерфейса для снэпшотов Timeline 2021.3

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

Поддержка событий TPL на macOS и Linux 2021.3

Консольный инструмент dotTrace, как и dotTrace в Rider, теперь позволяют собирать данные об асинхронных вызовах на macOS и Linux. Эти данные доступны в режиме профилирования Timeline. В дереве вызовов отображаются асинхронные вызовы, включая await и continuation.

Улучшенная поддержка дочерних процессов на macOS и Linux 2021.3

Консольный инструмент dotTrace и dotTrace в Rider теперь умеют профилировать дочерние процессы приложений на macOS и Linux в режиме профилирования Timeline. Эта возможность поддерживается только для приложений .NET 5+.

Нативное профилирование 2021.2

Мы добавили возможность профилирования нативных приложений для Windows. Запуская сеанс профилирования, вы теперь можете загрузить нативные файлы символов с удаленных серверов. Профилирование нативных приложений доступно только в режиме профилирования Timeline.

Профилирование в режиме Timeline на macOS и Linux 2021.2

Режим профилирования Timeline теперь доступен для приложений .NET Core и .NET на macOS и Linux.

Новый начальный экран 2021.1

Мы полностью обновили начальный экран dotTrace. Теперь вам будет намного проще конфигурировать и запускать новые сеансы профилирования, работать со снэпшотами и выполнять другие базовые операции.

Консольный профилировщик как глобальный инструмент .NET

Консольный профилировщик как глобальный инструмент .NET 2021.1

Вы можете установить и использовать консольный профилировщик dotTrace в качестве глобального dotnet-инструмента: dotnet tool install --global JetBrains.dotTrace.GlobalTools --version 2021.1.0

Скачать dotTrace

Доступна бесплатная пробная версия на 30 дней