Plugin de métricas do Puma
O plugin do AppSignal para o Puma irá coletar métricas sobre como o Puma está operando. Quando o AppSignal detecta métricas do Puma, ele criará um Intelligence dashboard, permitindo que você monitore métricas principais visualmente. Para habilitar a coleta de métricas, adicione o plugin AppSignal à sua configuração do Puma:Uso com prune_bundler
Se o seu arquivo puma.rb inclui prune_bundler, você deve adicionar o AppSignal como uma dependência de runtime.
Uso com preload_app!
Se o seu arquivo puma.rb inclui preload_app!, alguma configuração é necessária para reportar corretamente as métricas dos minutely probes. Quando preload_app! é true, os minutely probes são executados no processo primary do Puma. No processo primary, os probes não conseguem acessar os mesmos dados que o app rodando nos workers do Puma pode, reportando dados imprecisos ou nenhum dado.
No arquivo de configuração puma.rb do Puma, pare os minutely probes do AppSignal no callback before_fork para parar os minutely probes no processo principal do Puma. Em seguida, inicie os minutely probes no processo worker a partir do callback on_worker_boot.
Secrets
Se você usa uma biblioteca como Rails ou dotenv para gerenciar os secrets do seu app e configurar o AppSignal, você precisará carregá-los na sua configuração do Puma. O AppSignal executa um processo em background no processo principal do Puma quando se usa o plugin do Puma. O resto do seu app não é carregado por padrão no processo principal do Puma (a menos que você usepreload_app!, que pode não ser adequado para o seu app). Sem configuração adicional, a config do AppSignal falhará ao carregar, e o AppSignal não iniciará.
Nenhum hook “on boot” está disponível no Puma para carregar sua configuração extra no processo principal. Para carregar sua configuração, adicione-a à raiz do seu arquivo de configuração puma.rb, como no exemplo abaixo.
Hostname
Este probe escuta a opção de configuraçãoAPPSIGNAL_HOSTNAME da variável de
ambiente para a tag hostname
adicionada a todas as suas métricas. Se nenhuma for definida, ele tentará detectá-la automaticamente.
Use a variável de ambiente do sistema APPSIGNAL_HOSTNAME para definir o hostname caso
queira alterar o hostname detectado.
Porta do StatsD
Este probe escuta a opção de configuraçãoAPPSIGNAL_STATSD_PORT da variável de ambiente para a configuração de portas StatsD não padrão. Se a variável de ambiente não estiver definida, o padrão é 8125. Para o processo principal do Puma, é necessário usar a variável de ambiente; ele não lerá a configuração de arquivo do AppSignal.
Phased restart
Phased restarts do Puma não reiniciam o processo principal do Puma, o que significa que o processo em background do AppSignal também não é reiniciado em um phased restart. Se você fez alterações na config do AppSignal, será necessário reiniciar completamente seu app Puma depois para que a mudança de configuração tenha efeito.Intelligence dashboard
Quando o AppSignal recebe métricas do Puma, ele criará um Intelligence dashboard do Puma, disponível na seção de dashboard do app AppSignal. O Intelligence dashboard do Puma terá os seguintes gráficos:
As tags fornecem um detalhamento contextual das informações de performance do Active job. O AppSignal reporta as seguintes tags para jobs do Active Job:
Os gráficos permitem que você monitore as métricas da sua aplicação visualmente. Você pode adicionar marcadores aos gráficos e clicar em qualquer ponto de dados para obter insights sobre o estado da sua aplicação naquele momento.
