prometheus-net

Форк
0
/
GrpcMetricsMiddlewareExtensions.cs 
34 строки · 1.1 Кб
1
using Microsoft.AspNetCore.Builder;
2

3
namespace Prometheus;
4

5
public static class GrpcMetricsMiddlewareExtensions
6
{
7
    /// <summary>
8
    /// Configures the ASP.NET Core request pipeline to collect Prometheus metrics on processed gRPC requests.
9
    /// </summary>
10
    public static IApplicationBuilder UseGrpcMetrics(this IApplicationBuilder app,
11
        Action<GrpcMiddlewareExporterOptions> configure)
12
    {
13
        var options = new GrpcMiddlewareExporterOptions();
14
        configure?.Invoke(options);
15
        app.UseGrpcMetrics(options);
16
        return app;
17
    }
18

19
    /// <summary>
20
    /// Configures the ASP.NET Core request pipeline to collect Prometheus metrics on processed gRPC requests.
21
    /// </summary>
22
    public static IApplicationBuilder UseGrpcMetrics(this IApplicationBuilder app,
23
        GrpcMiddlewareExporterOptions? options = null)
24
    {
25
        options ??= new GrpcMiddlewareExporterOptions();
26

27
        if (options.RequestCount.Enabled)
28
        {
29
            app.UseMiddleware<GrpcRequestCountMiddleware>(options.RequestCount);
30
        }
31

32
        return app;
33
    }
34
}
35

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.