【问题标题】:DotTrace plugin to TeamCity - process filter is not excluding nunit3-console.exeTeamCity 的 DotTrace 插件 - 进程过滤器不排除 nunit3-console.exe
【发布时间】:2019-02-19 16:43:10
【问题描述】:

我想就为我们的一个 TeamCity 构建设置 DotTrace 插件寻求一些帮助 - 到目前为止,我已经按照此处的说明进行操作,并且得到了一个有时可以工作的构建:

https://blog.jetbrains.com/dotnet/2016/02/16/performance-profiling-in-continuous-integration-an-updated-dottrace-plugin-to-teamcity/

但是,这有时会失败,因为构建会生成两个快照(snapshot.dtpsnapshot-2.dtp)。

经过多次反复试验,我发现有时失败的原因是我的测试有时出现在第一个 .dtp 文件(DotTrace 的 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 Console Profiler 2018.3.2 build 777.0.20190124.112417。版权所有 (C) 2019 JetBrains s.r.o.

[16:01:10][步骤 12/14] 正在分析...

[16:01:10][Step 12/14] Executable='[file path]\nunit3-console.exe'(非子级)正在传递以进行过滤

[16:01:10][Step 12/14] Passed filter executable='[file path]\nunit3-console.exe'

这表明 nunit3-console.exe 没有被排除,正如过滤器所建议的那样。

我能找到的最接近的建议在这里,它似乎暗示了我在做什么,但仅适用于 NUnit 2:

https://www.jetbrains.com/help/profiler/Profiling_Guidelines__Profiling_Unit_Tests.html

有谁知道确保排除 nunit3-console.exe 以使其不生成快照文件的方法?

【问题讨论】:

    标签: teamcity dottrace


    【解决方案1】:

    这个插件会根据设计生成多个快照,并根据所有快照生成报告,因此此处不需要过滤。

    我创建了issue

    【讨论】:

    • 谢谢 Nikolay - 该插件似乎始终只使用 snapshot.dtp,而从未使用其他任何一个 - 也许你是对的,插件的设计是使用所有快照文件。我将在问题中添加评论以反映这一点
    • 问题已解决。 @KevinC 感谢您关注这个问题。
    猜你喜欢
    • 2011-12-02
    • 2016-02-25
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    相关资源
    最近更新 更多