问题标签 [dottrace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-web-api - 远程代理上的 DotTrace
我有一个在本地机器上运行的 WebAPI 项目,它通过服务层上的远程代理(本地机器)调用服务器端代码。分析器能够跟踪热点,但只能跟踪到服务层,热点都指向调用服务器端方法的方法。
如何让分析器跟踪服务器端代码中的瓶颈?
注意事项:
我做过的事情
wpf - DotTrace 没有明确的大量用户代码执行时间
对于我的工作,我使用 DotTrace 来分析我们的 WPF 桌面应用程序中客户端体验之一的缓慢性。我之前使用它来执行此操作,结果得出的结论是数据库调用速度很慢,然后我们可以找到解决方案。
然而,这一次,我看到 75% 的执行时间在本机代码中,并且在用户代码中没有明显的缓慢。我搜索了一些,发现其他几个人也有同样的问题。答案要么是正常的(之前的快照在用户代码中也只有一小部分执行时间,所以这看起来没问题),或者如果您在制作快照时选中“收集本机分配”框,您可以进一步分析它(不幸的是,我没有检查)。
如果我只检查用户代码,则大部分执行时间驻留在作为第三方 UI 组件的 DevExpress DLL 中。那么您能否说这正在朝着与硬件相关的缓慢发展(请参阅下面快照的用户代码部分)?
我使用时间线选项来创建快照。
我的问题:
- 由于快照在真正的用户代码(不包括 DevExpress 组件)中没有显示很多时间,那么我是否可以得出结论,这种缓慢不是由于我们的代码效率低下造成的?
- 我可以从快照的本机代码部分看出什么吗(见下面的截图)?
- 对于这种情况,时间线是否更方便,或者其他采样选项之一是否更清晰?
- 在这种情况下,我将如何继续靠近缓慢的根源?
在此先感谢您的帮助!
塞巴斯蒂安
dottrace - dottrace 远程调试器连接期间 EndpointDispatcher 的 AddressFilter 不匹配
尝试通过负载均衡器连接到远程代理会出现错误:
The message with To 'net.tcp/address/RemoteAgent' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree.
大多数解决方案都谈到将以下内容添加到服务代码中:
[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
可以在配置中做些什么来关闭 AddressFilter 匹配吗?
内容RemoteAgent.exe.config
:
teamcity - TeamCity 的 DotTrace 插件 - 进程过滤器不排除 nunit3-console.exe
我想就为我们的 TeamCity 构建之一设置 DotTrace 插件寻求一些帮助 - 到目前为止,我已经按照此处的说明进行操作,并且得到了一个有时有效的构建:
但是,这有时会失败,因为构建会生成两个快照(snapshot.dtp和snapshot-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 sro
[16:01:10][步骤 12/14] 正在分析...
[16:01:10][Step 12/14] Executable='[file path]\nunit3-console.exe' (non-child) 被传递用于过滤
[16:01:10][步骤 12/14] 通过过滤器可执行文件='[文件路径]\nunit3-console.exe'
这表明 nunit3-console.exe 没有被排除,正如过滤器所建议的那样。
我能找到的最接近的建议是here,它似乎暗示了我在做什么,但仅适用于 NUnit 2:
https://www.jetbrains.com/help/profiler/Profiling_Guidelines__Profiling_Unit_Tests.html
有谁知道确保排除 nunit3-console.exe 以使其不生成快照文件的方法?
dottrace - 在上一个会话中单击分离后,在 JetBrains/DotTrace Profiler Controller 中看不到“获取快照”按钮?
我正在使用 JetBrains Ultimate 的 DotTrace 2018.3。
我正在尝试从 VS2017 中分析 ASP.NET 4.7 MVC 5 Web 应用程序。
我注意到有时当我开始个人资料会话时,即通过:
Resharper > 配置文件 > 运行启动配置性能分析
Profiling Controller 启动,但没有“Detach”或“Kill”按钮,也没有“Get Snapshort and Wait”按钮。
请问我该如何解决?
我还注意到我过去是通过单击“分离”引起的,但此后探查器控制器似乎无法获取任何进程。
我刚刚重新启动了 VS2017 并关闭了 IIS Express,然后回到 VS2017 并重新启动了我的“采样”配置文件会话,这一次我看到了相关的按钮......
jetbrains-ide - DotTrace,是否可以在不终止分析会话的情况下更改分析类型,即从采样到跟踪?
我正在使用 DotTrace 2018.3 在 Visual Studio 2017 中的 IIS Express 上分析 MVC5 Web 应用程序。
我从使用“采样”配置文件类型的配置文件开始。是否可以在不停止和重新启动配置文件会话的情况下将配置文件类型更改为“跟踪”或“逐行”?
谢谢
jetbrains-ide - DotTrace,是否可以在配置文件会话期间修改 MVC5 Web 应用程序上的代码并重新运行......?
我正在使用 DotTrace 2018.3 在 Visual Studio 2017 中的 IIS Express 上分析 MVC5 Web 应用程序。
我经常使用“Sampling”开始分析,发现瓶颈,然后想要进行代码更正,然后查看效果。目前看来我必须终止第一个配置文件会话,进行更正,然后启动一个新的配置文件会话,这没关系,但是......
总之,在重构性能问题时是否有更有效的分析方法?
谢谢
asp.net - 使用 Visual Studio 负载测试附加 DotTrace 性能分析器
有没有,我可以通过 Visual Studio 负载测试项目附加 DotTrace 性能分析器。我正在检查 ASP.NET Web 应用程序的负载测试。我正在尝试创建压力测试并尝试进行更多分析。我只是好奇有什么方法可以将 DotTrace 性能分析器与 Visual Studio 负载测试连接并检查负载测试的详细信息。
dottrace - 为什么 dottrace 显着提高了我的 Web 应用程序的启动时间?
我试图找出为什么我的 web 应用程序 (.NET + Sitecore) 需要这么长时间才能启动,但 dottrace 使它启动得更快。
当前启动时间约为 270 秒,但当我使用 dottrace 启动应用程序时,它实际上需要 30 秒。每次包括其他开发人员机器在内,这都是可重现的。
我正在使用 .NET 4 和 IIS 10(应用程序池作为网络服务运行)。