EF Core性能分析工具-MiniProfiler
MiniPRofiler的作用
- 能够监控EF执行的SQL语句,SQL执行的时间。MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。
- MiniProfiler官网:http://miniprofiler.com/
MiniProfiler用法
Nuget包安装
//Mvc
Install-Package MiniProfiler.AspNetCore.Mvc
//EF分析添加
Install-Package MiniProfiler.EntityFrameworkCore
配置MiniProfiler 修改配置文件
//注入Miniprofiler
builder.Services.AddMiniProfiler(options =>
{
//访问地址路由根目录;默认为:/mini-profiler-resources
options.RouteBasePath = "/profiler";
//数据缓存时间
(options.Storage as MemoryCacheStorage).CacheDuration = TimeSpan.FromMinutes(60);
//sql格式化设置
options.SqlFormatter = new StackExchange.Profiling.SqlFormatters.InlineFormatter();
//跟踪连接打开关闭
options.TrackConnectionOpenClose = true;
//界面主题颜色方案;默认浅色
options.ColorScheme = StackExchange.Profiling.ColorScheme.Dark;
//.net core 3.0以上:对MVC过滤器进行分析
options.EnableMvcFilterProfiling = true;
//对视图进行分析
options.EnableMvcViewProfiling = true;
//控制访问页面授权,默认所有人都能访问
//options.ResultsAuthorize;
//要控制分析哪些请求,默认说有请求都分析
//options.ShouldProfile;
//内部异常处理
//options.OnInternalError = e => MyExceptionLogger(e);
}).AddEntityFramework();
//启用
//该方法必须在app.UseEndpoints以前
app.UseMiniProfiler();
MVC项目 添加下方代码_ViewImports.cshtml
@using StackExchange.Profiling
@addTagHelper *, MiniProfiler.AspNetCore.Mvc
将MiniProfiler添加到布局文件(Shared/_Layout.cshtml)中
<mini-profiler />
Swagger版本
http://t.zoukankan.com/cwsheng-p-14383498.html