溫馨提示×

如何在Debian上監控Swagger性能

小樊
35
2025-03-14 18:44:53
欄目: 智能運維

在Debian上監控Swagger性能可以通過集成MiniProfiler來實現。MiniProfiler是一個輕量級的性能剖析工具,它可以實時監控代碼的執行時間,包括數據庫查詢和API請求等,并通過友好的界面呈現運行性能數據。以下是如何在.NET Core項目中集成MiniProfiler與Swagger的步驟:

  1. 安裝NuGet包
Install-Package MiniProfiler.AspNetCore.Mvc -Version 4.3.8
Install-Package Swashbuckle.AspNetCore -Version 6.5.0
  1. 配置服務

Startup.csConfigureServices方法中添加MiniProfiler服務配置:

services.AddMiniProfiler(options =>
{
    options.RouteBasePath = "/profiler";
}).AddEntityFramework();

Configure方法中啟用MiniProfiler中間件,確保它在UseEndpoints方法之前被調用:

app.UseMiniProfiler();
  1. 配置Swagger UI

下載自定義的Swagger UI頁面(例如從GitHub上的xuke353/swaggerui項目),并將其放置在API項目的根目錄下,設置文件屬性為“嵌入的資源”。修改Startup.cs中的UseSwaggerUI中間件配置,使用自定義的index.html文件:

app.UseSwaggerUI(c =>
{
    c.IndexStream = () => GetType().GetTypeInfo().Assembly.GetManifestResourceStream("YourNamespace.index.html");
    c.RoutePrefix = string.Empty;
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});

確保替換YourNamespace為你的項目命名空間。

  1. 獲取MiniProfiler HTML代碼片段

在一個控制器中添加一個方法來獲取MiniProfiler的HTML代碼片段:

[HttpGet]
public IActionResult GetCounts()
{
    var html = MiniProfiler.Current.RenderIncludes(_accessor.HttpContext);
    return Ok(html.Value);
}
  1. 將HTML代碼片段添加到Swagger UI

將獲取到的HTML代碼片段粘貼到自定義的Swagger UI的index.html文件的頂部。

通過以上步驟,你可以在Swagger文檔頁面的左上角看到MiniProfiler的面板,該面板將實時展示各種性能數據,如接口響應時間和數據庫查詢耗時等。這些信息不僅對開發者有利,還有助于團隊進行系統的性能優化和故障排查,確保應用的高可用性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女