EF Core性能分析工具-MiniProfiler

MiniPRofiler的作用

  1. 能够监控EF执行的SQL语句,SQL执行的时间。MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF、EF CodeFirst等 )。并且以很友好的方式展现在页面上。
  2. 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