Zum Hauptinhalt springen
Die Ruby VM (Virtual Machine) plant die Ausführung von Ruby-Threads. Zu jedem Zeitpunkt kann nur ein Thread gleichzeitig mit dem Zustand der Ruby VM interagieren. AppSignal unterstützt die Ruby VM sofort. Wenn AppSignal Ruby-VM-Metriken erkennt, wird ein Magic Dashboard erstellt, mit dem Sie zentrale Metriken visuell überwachen können.

Magic Dashboards

Magic Dashboards erscheinen im Dashboard-Bereich der AppSignal-App. Ruby VM magic dashboard creation Das Ruby VM Magic Dashboard enthält die folgenden Graphen:
GraphMetrikenTags
Allokierte Objekteallocated_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
    Tags geben Ihnen eine kontextbezogene Aufschlüsselung der Performance-Informationen der Ruby VM. AppSignal meldet die folgenden Tags für die Ruby-VM-Performance:
    NameBeschreibung
    hostnameDer Name des Hosts, von dem die Metrik gemeldet wurde.
    metricDer gesamte Metrikwert für alle Hosts.
    AppSignal stellt jedes Tag mit einer farbigen Linie im Graphen dar: Ruby VM magic dashboard example graph

    Graph der allokierten Objekte

    Der Graph der allokierten Objekte zeigt, wie viele komplexe Ruby-Werte (Objekte, nicht Strings, Integer, Booleans usw.) Speicher in der virtuellen Ruby-Maschine verwenden. Sie können den Graphen der allokierten Objekte verwenden, um die Speichernutzung und Performance Ihrer Anwendung zu überwachen und zu optimieren.

    Garbage-Collection-Count-Graph

    Der GC-Counts-Graph zeigt die Anzahl der Garbage-Collection-Ereignisse/Läufe innerhalb der letzten Minute, aufgeteilt zwischen Major- und Minor-Ereignissen. Sie können den GC-Counts-Graphen verwenden, um die Häufigkeit der Garbage Collection und deren Auswirkungen auf die Performance und Speichernutzung Ihrer Anwendung zu überwachen.

    Heap-Slots-Graph

    Der Heap-Slots-Graph zeigt die aktuell von der virtuellen Ruby-Maschine allokierten Heap-Slots, aufgeteilt zwischen aktiven und freien Slots. Sie können den Heap-Slots-Graphen verwenden, um die Speicherallokation zu überwachen und mögliche Ursachen für Memory Leaks oder Fragmentierung zu identifizieren.

    Ruby-VM-Graph

    Die Metriken constant_cache_misses und constant_cache_invalidations sind nur in Ruby-Versionen 3.2.0 und höher verfügbar.
    Der Ruby-VM-Graph zeigt Statistiken aus der Methode RubyVM.stat über den Konstanten-Cache und die in Ihrer Anwendung erstellten Klassen. Sie können den Ruby-VM-Graphen verwenden, um den Cache-Status von Konstantenwerten zu überwachen und zu sehen, wie Ihre Anwendung den Zustand der Ruby VM beeinflusst.

    Thread-Count-Graph

    Der Thread-Count-Graph zeigt die Anzahl der aktuell in Ihrer Anwendung laufenden Threads. Sie können den Thread-Count-Graphen verwenden, um das Threading Ihrer Anwendung zu überwachen. Das Ruby VM Lock arbeitet seriell, was bedeutet, dass nur jeweils ein Thread ausgeführt werden kann. Eine hohe Thread-Anzahl kann zu Performance-Problemen führen.