Atualizando para 0.15.0
Atualizando para 0.15.0#
Changelog: 0.15.0
A partir dessa versão é possível exportar métricas no formato do Prometheus. Mais detalhes na documentação sobre Métricas.
Isso significa que o asyncworker pode adicionar uma rota HTTP com path /metrics
(valor padão da config settings.METRICS_ROUTE_PATH
.
Essa configuração está ligada por padrão e pode ser desligada com a ENV VAR ASYNCWORKER_METRICS_ROUTE_ENABLED=0
. Mais detalhes na documentação sobre Configuração de métricas.
Se a usa aplicação já exporta métricas e faz isso usando as classes do prometheus_client
o ideal é que você ajuste seu código para que faça uso das classes expostas pelo asyncworker (asyncworker.metrics.*
). Se seu código importa as métricas dessa forma:
from prometheus_client import Counter, Gauge, Histogram
deve mudar para:
from asyncworker.metrics import Counter, Gauge, Histogram
As classes de métricas do asyncworker podem ser usadas como drop-in replacement para as classes expostas pelo prometheus_client
.
Se você faz uso de classes que ainda não são expostas pelo asyncworker, como por exemplo Enum, Summary, Info
deve fazer a instanciação delas dessa forma:
from asyncworker.metrics.registry import REGISTRY
from prometheus_client import Summary
_s = Summary(..., registry=REGISTRY)
Dessa forma suas métricas estarão vinculadas ao MetricsRegistry do asyncworker e serão expostas no response do /metrics
.