Please enable JavaScript to view this site.

Administrationshandbuch

Navigation: Tech Doc > Performanceoptimierungen > Performanceanalyse

Debugging

Scroll Zurück Oben Weiter Mehr

 

Diese Funktion steht Ihnen ab 2024.4 zur Verfügung.

Hintergrund

Um Performanceprobleme in einem Produktivsystem zur Laufzeit besser analysieren zu können, ist es notwendig nicht nur die Dauer einer Aktion zu loggen, sondern auch die der einzelnen Schritte (Codeabschnitte) innerhalb dieser Aktion. Um das Produktivsystem nicht unnötig zu belasten, sollte dies ohne die Aktivierung des allgemeinen Debug-Loggings erfolgen können, zudem ist es hilfreich diese Logausgaben in einer speziellen Logdatei zu sammeln, statt verteilt in unterschiedlichen Logs zu hinterlegen.

Beschreibung

JobRouter verwendet die Symfony Stopwatch Komponente, um die Ausführungszeit und den Speicherverbrauch bestimmer Aktionen aufzuzeichnen. Diese Aktionen umfassen aktuell:

 

Eingangs- und Prozessboxen: Öffnen, Blättern & Filtern

Archivansichten: Öffnen, Blättern & Filtern

Benutzerschritte öffnen (initiales Laden eines Dialoges ohne Sub-Requests, nur für klassische Dialoge)

Benutzerschritte senden

Login/Logout

 

Logging

 

Das Logging kann über die config.php aktiviert werden und ist ohne das reguläre Debug-Log (CONST_DEBUG oder CONST_LOG_LEVEL_FILE) möglich.

 

<?php

 

// ...

 

return [

  'db' => [

    // ...

  ],

  'log' => [

    'stopwatch' => true

  ],

];

 

 

Ist das Logging aktiv, wird im output\log-Verzeichnis eine Datei namens stopwatch_[YYYYMMMDD].log erzeugt.

 

Bitte beachten Sie: die Logdateien werden sehr groß, daher sollte dieses Logging nur im Analysefall aktiviert werden und nicht dauerhaft aktiv sein.

Logviewer

 

Da die Logausgaben sehr umfangreich sind, steht ein Logviewer unter der URL http(s)://[jobrouter-url]/performancelogviewer zur Verfügung. Für den Aufruf des Viewers müssen Sie eingeloggt sein und das Recht Konfiguration besitzen.

 

In dem Viewer kann eine bestimmte Stopwatch-Logdatei ausgewählt und auf verschiedene Informationen gefiltert werden.

 

LogFile: listet alle in output\log verfügbaren Stopwatch-Dateien

Sort order: bestimmt die Sortierung der Einträge nach Laufzeit (Duration) und Speicherverbrauch (Memory). Lässt man den Filter leer, wird absteigend nach Uhrzeit sortiert.

Username in log file: filtert nach Einträgen eines bestimmten Benutzers

Action type: die Aktion, die geloggt wurde

 

Es werden unterschiedliche Funktionen innerhalb der Codeausführung geloggt, die zum Teil verschachtelt sind. Die (Unter-)Funktion, die genauer untersucht werden sollte, wird rot markiert.

 

Bitte beachten Sie: die Logausgaben sind sehr technisch und für Unbeteiligte nicht zwingend verständlich. Sie sind vornehmlich für Supportzwecke gedacht, wenn im Rahmen eines Tickets eine Performanceanalyse durch die Entwickung notwendig wird. In diesem Fall hängen Sie die betroffene Logdatei mit dem Hinweis auf den betroffenen Benutzer und die betroffene Aktion bitte ans Ticket an. Wenn Sie selbst keinen Zugriff auf die Logdateien haben, exportieren Sie bitte die Systemanalyse.

 

performance_logviewer

 

Es können auch Stopwatch-Dateien eines Fremdsystems in den output\log-Ordner kopiert und mittels des Logviewers angezeigt werden. Diese müssen zwingend mit stopwatch_* beginnen, damit sie vom Logviewer erkannt werden.