Prometheus собирает метрики только из HomeController
Я пытаюсь реализовать новые метрики в своем приложении ASP.NET Core MVC, используя .NET 8 и новую OpenTelemetry (1.6.0-rc.1).
Все работает нормально, кроме одной проблемы: почему-то мое приложение отображает только метрики изHomeController
и никаких показателей от других моих контроллеров.
Вот как я все настроил:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddOpenTelemetry()
.WithMetrics(builder =>
{
builder.AddPrometheusExporter();
builder.AddAspNetCoreInstrumentation();
builder.AddPrometheusHttpListener();
builder.AddMeter("Microsoft.AspNetCore.Hosting",
"Microsoft.AspNetCore.Server.Kestrel");
builder.AddView("http-server-request-duration",
new ExplicitBucketHistogramConfiguration
{
Boundaries = new double[] { 0, 0.005, 0.01, 0.025, 0.05,
0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 }
});
});
Домашний контроллер:
public class HomeController : Controller
{
[HttpGet]
public IActionResult Index()
{
return View();
}
}
Контроллер настроек:
[Authorize]
public class SettingsController : Controller
{
private readonly IUsersService _accountsService;
public SettingsController(IUsersService accountsService)
{
_accountsService = accountsService;
}
public IActionResult Index()
{
return View();
}
}
Я не могу понять причину этой проблемы и надеюсь, что кто-нибудь сможет мне помочь.
Пробовал точно так же, как https://www.youtube.com/watch?v=A2pKhNQoQUU