Atualizando para 0.19.0
Atualizando para 0.19.0#
Changelog: 0.19.0
Nessa versão, corrigimos um comportamento indesejado nas métricas relacionadas a rotas HTTP.
Um handler dinâmico declarado assim:
from aiohttp import web
from asyncworker import App
from asyncworker.decorators import parse_path
app = App()
@app.http.get(["/person/{_id}"])
@parse_path
async def get_person_by_id(_id: int):
person = {"id": _id}
return web.json_response(person)
Ao receber chamadas como /person/1
, /person/2
, /person/3
, métricas eram contabilizadas considerados como paths /person/1
, /person/2
e /person/3
, fazendo com que não tivéssemos controle sobre a quantidade de métricas exportadas, o que é uma má prática.
A partir dessa versão, as métricas HTTP expostas em rotas dinâmicas exportam path igual a rota definida pelo usuário (nesse caso, /person/{_id}
), garantindo uma cardinalidade previsível.
increase(asyncworker_http_request_duration_ms_count{path=~"(/person/1|/person/2|/person/3)"}[1m])
Deve ser substituído por:
increase(asyncworker_http_request_duration_ms_count{path=~"/person/{_id}"}[1m])