Passer au contenu principal
La VM (machine virtuelle) Ruby planifie l’exécution des threads Ruby. À tout moment, un seul thread à la fois peut interagir avec l’état de la VM Ruby. AppSignal prend en charge la VM Ruby d’emblée. Lorsqu’AppSignal détecte des métriques de la VM Ruby, il créera un Magic Dashboard vous permettant de surveiller visuellement les métriques principales.

Magic dashboards

Les magic dashboards apparaîtront dans la section dashboard de l’application AppSignal. Création du magic dashboard Ruby VM Le magic dashboard Ruby VM contiendra les graphiques suivants :
GraphiqueMétriquesTags
Allocated objectsallocated_objectshostname
Garbage Collection Count
  • minor_gc_count
  • minor_gc_count
  • gc_count
  • metric
  • hostname
  • Heap slots
  • heap_live
  • heap_free
  • metric
  • hostname
  • Ruby VM
  • class_serial
  • global_constant_state
  • constant_cache_invalidations
  • constant_cache_misses
  • metric
  • hostname
  • Thread countthread_counthostname
    Les tags vous offrent une décomposition contextuelle des informations de performance de la VM Ruby. AppSignal signale les tags suivants pour les performances de la VM Ruby :
    NomDescription
    hostnameLe nom de l’hôte depuis lequel la métrique a été signalée.
    metricLa valeur totale de la métrique pour tous les hôtes.
    AppSignal représentera chaque tag par une ligne colorée sur le graphique : Exemple de graphique du magic dashboard Ruby VM

    Graphique Allocated objects

    Le graphique Allocated objects montre combien de valeurs Ruby complexes (objets, pas chaînes, entiers, booléens, etc.) utilisent de la mémoire dans la machine virtuelle Ruby. Vous pouvez utiliser le graphique Allocated objects pour surveiller et optimiser l’utilisation de la mémoire et les performances de votre application.

    Graphique Garbage collection count

    Le graphique GC counts montre le nombre d’événements/exécutions de ramasse-miettes au cours de la dernière minute, réparti entre événements majeurs et mineurs. Vous pouvez utiliser le graphique GC counts pour surveiller la fréquence du ramasse-miettes et son impact sur les performances et l’utilisation de la mémoire de votre application.

    Graphique Heap slots

    Le graphique Heap slots montre les emplacements de tas (heap slots) actuellement alloués par la machine virtuelle Ruby, répartis entre emplacements actifs et libres. Vous pouvez utiliser le graphique Heap slots pour surveiller l’allocation de mémoire et identifier les causes potentielles de fuites de mémoire ou de fragmentation.

    Graphique Ruby VM

    Les métriques constant_cache_misses et constant_cache_invalidations ne sont disponibles que dans les versions Ruby 3.2.0 et supérieures.
    Le graphique Ruby VM montre les statistiques de la méthode RubyVM.stat concernant le cache des constantes et les classes créées dans votre application. Vous pouvez utiliser le graphique Ruby VM pour surveiller l’état du cache des valeurs constantes et la façon dont votre application affecte l’état de la VM Ruby.

    Graphique Thread count

    Le graphique Thread count montre le nombre de threads en cours d’exécution dans votre application. Vous pouvez utiliser le graphique Thread count pour surveiller le threading de votre application. Le Ruby VM Lock fonctionne en série, ce qui signifie qu’il ne peut exécuter qu’un seul thread à la fois. Un nombre de threads élevé peut entraîner des problèmes de performances.