.Net 诊断工具
起因
本文讲的诊断工具,主要是针对.Net Core 3.1(个别功能不支持)及之后的版本,如.Net 5/.Net 6,对早期的.Net Framework是完全不支持的.即使是.Net Core 3.0之前的版本也不支持,是因为这些工具多数依赖EventPipe组件,EventPipe是CoreCLR的一部分,当然Mono也在增加对EventPipe的支持,所以是支持跨平台的.这些诊断工具能帮我干什么?
- 快速定位问题,分析性能瓶颈在哪里
- 可以分析GC,根据内存分配针对性的进行调优.
- 统计数据,如Socket发送的数据/Http连接数等

安装工具
#安装监视工具
dotnet tool install -g dotnet-counters
#安装转储工具
dotnet tool install -g dotnet-dump
#安装gc转储工具
dotnet tool install -g dotnet-gcdump
#安装trace收集事件
dotnet tool install -g dotnet-trace
#安装stack 获取堆栈信息
dotnet tool install -g dotnet-stack
结论
没有如何使用这些工具,是因为我本身还不怎么会用.不管怎么样,这些工具能让我们更快的解决问题.本身EventPipe组件也是一直开发的状态.
秋风
2021-08-08