Skip to content

Fix/issue 150 metrics cardinality - #153

Merged
NdondaDaniel2020 merged 4 commits into
mainfrom
fix/issue-150-metrics-cardinality
Aug 29, 2026
Merged

NdondaDaniel2020 merged 4 commits into
mainfrom
fix/issue-150-metrics-cardinality

Conversation

@NdondaDaniel2020

Copy link
Copy Markdown
Owner

📌 Contexto & Motivação

Corrige o vazamento de memória e sobrecarga (cardinality explosion) no servidor Prometheus causado pelo registro de URLs brutas no MetricsMiddleware.

Closes #150


🛠️ Alterações

  • Normalização de endpoints: Usa o template de rota do FastAPI (/api/items/{item_id}) via scope.get('route') em vez da URL crua (/api/items/123).
  • Proteção contra scans 404: Requisições em rotas inexistentes agora são agrupadas sob o rótulo fixo endpoint="unmatched_route", neutralizando ataques de varredura por bots.
  • Testes unitários: Adicionado tests/test_metrics_middleware.py para validar normalização de rotas e agrupamento de 404.

🧪 Validação

uv run pytest tests/test_metrics_middleware.py
uv run ruff check

@vercel

vercel Bot commented Aug 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
auth Ready Ready Preview Aug 29, 2026 11:36pm

@NdondaDaniel2020
NdondaDaniel2020 merged commit b6aa397 into main Aug 29, 2026
9 checks passed
@NdondaDaniel2020
NdondaDaniel2020 deleted the fix/issue-150-metrics-cardinality branch August 30, 2026 00:24
@NdondaDaniel2020 NdondaDaniel2020 self-assigned this Aug 30, 2026

This branch was successfully deployed

1 active deployment
Preview — 96d49dfd Deployed Aug 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(observability): normalizar rota no MetricsMiddleware para prevenir explosao de cardinalidade no Prometheus

1 participant