.NET Core的性能计数器故事是什么?

36
在Windows下,可以使用以下方法读取.NET性能计数器:
  • 性能监视器
  • C#使用PerformanceCounter
  • 使用WMI和查询与.NET相关的类
考虑到最近发布的.NET Core以及这种应用程序也可以在Linux上运行,如何访问当前在Windows上可用的与.NET相关的统计信息?

我相信它是开源的,所以你可以在GitHub上搜索。 - Lex Li
4
有一个“可用性能计数器吗?”问题:https://github.com/aspnet/Home/issues/1319 - Set
1
当你在Windows上运行时,没有任何阻止你使用Windows特定功能的东西。当你在Linux上部署时,查询性能计数器将无法工作,但如果你不在Linux上部署,那就是一个无关紧要的细节。跨平台很棒,但灵活性更好。为了实现理想的跨平台系统而省略功能并不是真正的进步。你可以自己编写代码。也许最终会有人为Linux编写一个模块,实现Windows风格的perf计数器。 - Cody Gray
2
仅针对Windows不是一个选项,因为我还需要覆盖Linux。自己编写代码是一种昂贵的选择,因为它需要C和/或C++技能,因此我提出这个问题是为了澄清Microsoft是否有计划提供类似的方法来实现我们已经在Windows上可以做到的事情。 - MaYaN
您也可以订阅此问题:https://github.com/dotnet/corefx/issues/9376,该问题可能会或可能不会实现桌面兼容性的性能计数器基础设施,它被标记为一个功能。 - boades
2
作为Redhat的贡献者,我希望看到一些使用Linux性能计数器的情况。 - Phillip Scott Givens
4个回答

7

3

4
可以帮助其他人,但原帖作者明确表示仍想针对Linux系统。 - Damien_The_Unbeliever

1
性能计数器在Linux中不存在,因此在NET Core中也不存在。创建另一个“基于完整.NET的辅助应用程序”,将性能计数器公开为服务以供“NET Core应用程序”使用。

1
MaYaN已经说过,仅针对Windows平台不是一个选项。 - Digicoder

-1

您可以尝试在Linux中使用Oracle跟踪。 在建立第一个连接之前,请写入以下内容:

OracleConfiguration.TraceFileLocation = "/app/trace";
OracleConfiguration.TraceOption = 0;
OracleConfiguration.TraceLevel = 1;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接