Skip to content

Feat/issue 151 correlation - #154

Merged
NdondaDaniel2020 merged 6 commits into
mainfrom
feat/issue-151-correlation-id
Aug 30, 2026
Merged

NdondaDaniel2020 merged 6 commits into
mainfrom
feat/issue-151-correlation-id

Conversation

@NdondaDaniel2020

Copy link
Copy Markdown
Owner

📌 Contexto & Motivação

Adiciona suporte a rastreamento distribuído de ponta a ponta através do padrão Correlation ID (X-Request-ID) e identificação do usuário (user_id). Permite correlacionar e auditar o ciclo completo de vida de uma requisição em ferramentas como Grafana Loki e Jaeger, desde a camada HTTP até a mensageria assíncrona.

Closes #151


🛠️ Alterações Realizadas

  • Gerenciador de Contexto (contextvars): Criado app/core/observability/context.py para isolamento de request_id e user_id por contexto assíncrono.
  • Middleware HTTP: setup_correlation_id_middleware extrai ou gera o X-Request-ID e garante o retorno no header da resposta HTTP.
  • Logs JSON Estruturados: JSONFormatter enriquecido para injetar automaticamente request_id e user_id em todos os registros de log.
  • Identidade do Usuário: Dependência get_current_user vincula o user_id autenticado ao contexto assíncrono.
  • Propagação no EventBus: A classe base Event herda o correlation_id do contexto ativo e o InMemoryEventBus restaura o contexto durante a execução dos handlers/consumers.
  • Testes Automatizados: Criado tests/test_correlation_id.py cobrindo o fluxo completo (HTTP, logs, mensageria e contexto).

🧪 Validação

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

@vercel

vercel Bot commented Aug 30, 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 30, 2026 12:03am

@NdondaDaniel2020
NdondaDaniel2020 merged commit 1ac012c into main Aug 30, 2026
9 checks passed
@NdondaDaniel2020
NdondaDaniel2020 deleted the feat/issue-151-correlation-id branch August 30, 2026 00:24
@NdondaDaniel2020 NdondaDaniel2020 self-assigned this Aug 30, 2026

This branch was successfully deployed

1 active deployment
Preview — c7619713 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.

feat(observability): adicionar rastreabilidade distribuida com Correlation ID (X-Request-ID) em HTTP, logs JSON e EventBus

1 participant