可以向我的应用程序添加“离线分析”功能吗?
Posted
技术标签:
【中文标题】可以向我的应用程序添加“离线分析”功能吗?【英文标题】:Possible to add "offline profiling" functionality to my application? 【发布时间】:2015-11-25 07:35:59 【问题描述】:作为 Red Gate 的ANTS Performance Profiler 的长期用户,我目前正在寻找一种在非开发机器上进行分析的方法。
我们有一个相当大的 WinForms 应用程序用户群,用 .NET 4 编写。
用户时不时抱怨性能不佳。
由于我无法在每个客户的 PC 上购买和安装 ANTS,我正在考虑类似的事情:
-
向我使用.NET Profiling API 的应用程序添加一些魔术代码。
在我的应用程序中提供一个开关以启用分析跟踪。
告诉用户激活开关。
让 API 记录一段时间的性能“事件”。
告诉客户将记录的日志寄给我。
在一些精美的 GUI 中打开日志以分析热点。
我的问题:
是否有可能使用 .NET 分析 API 来包含离线性能热点记录以供以后分析?
更新 1:
我刚刚找到“dotTrace Perfomance API”,它引入了术语self-profiling,这似乎正是我正在寻找的形式。
现在查看文章……
【问题讨论】:
有also a longer article about the .NET Profiling API。 【参考方案1】:是的,dotTrace API 似乎是最好的解决方案。 实际上,您可以使用 JetBrains 用于 ReSharper 的相同方法。 ReSharper 的帮助菜单中有一个选项 - Profile Visual Studio。这个菜单的作用是运行自我分析。当用户面临减速时,JB 支持会要求他使用此菜单并重现该问题。然后将收集的性能快照发送到 JetBrains。
【讨论】:
谢谢。如果在自己的产品中使用它,似乎是一个稳定成熟的解决方案。我试试看。以上是关于可以向我的应用程序添加“离线分析”功能吗?的主要内容,如果未能解决你的问题,请参考以下文章