是一款性能分析的輕量級程序,能夠基於action(request)記錄每一個階段的耗時時長,仍是能夠顯示訪問數據庫時的SQL(支持EF、EF Code First)等html
經過Nuget安裝MiniProfiler :git
Install-Package MiniProfiler.AspNetCore.Mvcgithub
Install-Package MiniProfiler.EntityFrameworkCoresql
在ConfigureServices方法中添加MiniProfiler服務,放在SwaggerGen方法以前數據庫
// 添加MiniProfiler服務 services.AddMiniProfiler(options => { // 設定訪問分析結果URL的路由基地址 options.RouteBasePath = "/profiler"; }).AddEntityFramework();//顯示SQL語句及耗時
激活中間件,啓用MiniProfiler服務 放在SwaggerUI以前json
//把它放在UseMvc()方法以前。 app.UseMiniProfiler();
https://github.com/tenghao6/NetCoreWebApi/blob/master/NetCoreWebApi/index.htmlapp
放到項目的根目錄,生成操做設置爲:嵌入的資源性能
【文件】→【屬性】→【生成操做】spa
在Startup.cs文件中,咱們須要修改UseSwaggerUI中間件的配置3d
app.UseSwaggerUI(c => { c.IndexStream = () => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("NetCoreWebApi.index.html"); //訪問swagger UI的路由,如http://localhost:<port>/swagger //默認是swagger c.RoutePrefix = string.Empty; c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); c.DefaultModelsExpandDepth(-1); //設置爲 - 1 可不顯示models c.DocExpansion(DocExpansion.None); //設置爲none可摺疊全部方法 });
注意:這裏NetCoreWebApi是項目的命名空間名
從新啓動項目,Swagger文檔頁面的左上角就出現了一個小的面板,當請求接口以後,會顯示出當前請求的分析數據。
點擊sql(ms)下面的耗時,可查看詳細SQL信息:
是否是很炫酷!