A Ruby VM (Máquina Virtual) agenda threads Ruby para execução. Em qualquer ponto, apenas uma thread por vez pode interagir com o estado da Ruby VM.
O AppSignal suporta a Ruby VM prontamente. Quando o AppSignal detecta métricas da Ruby VM, ele criará um Intelligence dashboard, permitindo que você monitore métricas principais visualmente.
Intelligence dashboards
Os Intelligence dashboards aparecerão na seção de dashboard do app AppSignal.
O Intelligence dashboard da Ruby VM terá os seguintes gráficos:
As tags fornecem um detalhamento contextual das informações de performance da Ruby VM. O AppSignal reporta as seguintes tags para performance da Ruby VM:
O AppSignal representará cada tag com uma linha colorida no gráfico:
Gráfico Allocated objects
O gráfico Allocated objects mostra quantos valores Ruby complexos (objetos, não strings, inteiros, booleanos, etc.) estão usando memória na máquina virtual Ruby.
Você pode usar o gráfico Allocated objects para monitorar e otimizar o uso de memória e a performance da sua aplicação.
Gráfico Garbage collection count
O gráfico de contagens de GC mostra a quantidade de eventos/execuções de garbage collection durante o último minuto, dividida entre eventos major e minor.
Você pode usar o gráfico de contagens de GC para monitorar a frequência do garbage collection e seu impacto na performance e no uso de memória da sua aplicação.
Gráfico Heap slots
O gráfico Heap slots mostra os heap slots atualmente alocados pela máquina virtual Ruby, divididos entre slots live e free.
Você pode usar o gráfico Heap slots para monitorar a alocação de memória e identificar as causas potenciais de memory leaks ou fragmentação.
Gráfico Ruby VM
As métricas constant_cache_misses e constant_cache_invalidations estão
disponíveis apenas nas versões Ruby 3.2.0 e superiores.
O gráfico Ruby VM mostra estatísticas do método RubyVM.stat sobre o constant cache e as classes criadas na sua aplicação.
Você pode usar o gráfico Ruby VM para monitorar o status do cache de valores constantes e como sua aplicação afeta o estado da Ruby VM.
Gráfico Thread count
O gráfico Thread count mostra o número de threads atualmente executando na sua aplicação.
Você pode usar o gráfico Thread count para monitorar o threading da sua aplicação. O Ruby VM Lock executa serialmente, o que significa que pode executar apenas uma thread por vez. Uma alta contagem de threads pode levar a problemas de performance.