Я хотел бы попросить помощи в настройке плагина DotTrace для одной из наших сборок TeamCity — до сих пор я следовал приведенным здесь инструкциям и получил сборку, которая иногда работает:
Однако иногда это не удается, поскольку сборка создает два снимка (snapshot.dtp и snapshot-2.dtp).
После долгих проб и ошибок я обнаружил, что иногда причина сбоя заключается в том, что мои тесты иногда появляются в первом файле .dtp (который используется DotTrace's Reporter.exe), а иногда и во втором файле.
Другой файл .dtp, по-видимому, связан с программой nunit3-console.exe, поэтому его следует исключить, поскольку я добавил эту программу в фильтры процессов в настройке сборки TeamCity:
*nunit3-console.exe
(Я пробовал здесь все комбинации, включая ввод полного пути к файлу)
Это приводит к добавлению следующей строки в файл dotTrace.project.xml при запуске профилировщика:
<ProcessNameFilter>*nunit3-console.exe</ProcessNameFilter>
Насколько я понимаю, это должно остановить профилирование именованного процесса (чтобы не создавался дополнительный файл .dtp. Однако, когда сборка выполняется, я вижу следующие строки в файле журнала:
[16:01:04][Шаг 12/14] Профилировщик консоли dotTrace 2018.3.2, сборка 777.0.20190124.112417. Авторское право (C) 2019 JetBrains s.r.o.
[16:01:10][Шаг 12/14] Выполняется профилирование...
[16:01:10][Шаг 12/14] Executable='[путь к файлу]\nunit3-console.exe' (не дочерний) передается для фильтрации
[16:01:10][Шаг 12/14] Пройден исполняемый файл фильтра='[путь к файлу]\nunit3-console.exe'
Это показывает, что nunit3-console.exe не исключается, как предполагает фильтр.
Самый близкий совет, который я могу найти, здесь, который, кажется, предлагает то, что я делаю, но только для NUnit 2:
https://www.jetbrains.com/help/profiler/Profiling_Guidelines__Profiling_Unit_Tests.html
Кто-нибудь знает способ исключить nunit3-console.exe, чтобы он не создавал файл моментального снимка?