debian

如何在Debian上监控Swagger性能

小樊
35
2025-03-14 18:44:53
栏目: 智能运维
Debian服务器限时活动,0元免费领! 查看>>

在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的面板,该面板将实时展示各种性能数据,如接口响应时间和数据库查询耗时等。这些信息不仅对开发者有利,还有助于团队进行系统的性能优化和故障排查,确保应用的高可用性。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:Debian上Swagger的性能监控

0
看了该问题的人还看了