Skip to content

meganewsopensource/metricsmega

Repository files navigation

Middleware Metrics

Biblioteca desenvolvida pelo time de Golang da Mega News para melhorar a coleta de informações de requisições. Essa biblioteca utiliza o Prometheus para coletar as informações. É utilizada a estrutura de Histogram para personalizar a coleta. O novo histograma disponibiliza as informações de "code", "method" e "endpoint", além de uma contagem das requisições. O objetivo dessas métricas é ajudar a visualizar quais requisições estão sendo mais utilizadas e os seus retornos.

Para utilizar tal biblioteca é necessário:

  • Importar a biblioteca para o seu projeto:
github.com/meganewsopensource/metricsmega
  • Na sua implementação do gin, adicione o middleware com a função Use()
r := gin.Default()
r.Use(Config().Metrics)

Ao consultar o seu endpoint de metrics, deverá ser possivel encontrar mais uma resposta, o histograma personalizado como o a seguir:

"http_request_duration_seconds_bucket{code="200",endpoint="test",method="GET",le="0.1"} 1"

gRPC

Para utilizar o middleware gRPC:

  • Na sua implementação do gRPC server, adicione o interceptor:
s := grpc.NewServer(
    grpc.UnaryInterceptor(monitoring.GrpcConfig().UnaryServerInterceptor()),
)

As métricas serão exportadas como:

"grpc_request_duration_seconds_bucket{code="0",endpoint="/package.Service/Method",method="unary",le="0.1"} 1"

About

Biblioteca desenvolvida pelo time de Golang da Mega News para melhorar a coleta de informações de requisições. Essa biblioteca utiliza o Prometheus para coletar as informações. É utilizada a estrutura de Histogram para personalizar a coleta.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages