Substituir o AppSignal pelo Datadog
TLDR: Remove o AppSignal e adiciona APM e logs do Datadog ao trgclub-api, para ter observabilidade funcional e investigar o bug de 500 em meetings para usuários moderator.
Contexto
O AppSignal está configurado mas não está funcionando em produção — erros 500 não aparecem com stacktrace acessível. O Datadog já é o padrão adotado nos outros projetos wehive (onion-backend). Sem observabilidade funcional não é possível investigar o bug #1215042900567341 (500 para usuários moderator e standard ao acessar /avo/resources/meetings/:id).
Objetivos
- Remover o AppSignal (gem + config + variáveis de ambiente)
- Adicionar a gem
datadogcom APM e coleta de logs - Configurar o Datadog nos ambientes de produção/staging via variáveis de ambiente
- Adicionar labels do Datadog no compose local (seguindo o padrão do onion-backend)
- Ter stacktraces visíveis no Datadog para investigar o bug de 500
Fora de escopo
— (não registrado na spec original)
Mudanças
Gemfile— removergem "appsignal", adicionargem "datadog"config/appsignal.rb— remover o arquivoconfig/initializers/datadog.rb— criar o inicializador com APM e log injection.project/docker/compose/overrides.yml— criar com labels do Datadog paraappeworker(seguindo o padrão do onion-backend).env.example— substituirAPPSIGNAL_API_KEYporDD_API_KEY,DD_ENV,DD_SERVICE,DD_AGENT_HOST.bundler-audit.yml— remover o ignore de CVEs do appsignal, se houver
Como verificar
- Em staging: acessar
/avo/resources/meetings/:idcomo usuário moderator — o erro 500 deve aparecer no Datadog APM com stacktrace completo - Confirmar que traces aparecem em
service:trgclub-apino Datadog - Confirmar que os logs de produção chegam com
source:ruby
Documentação
Nenhuma mudança de documentação necessária.