Der Profiler zeigt auf, bei welchen Aufrufen die meiste Performance verloren geht.
Um in Google Chrome steuern zu können, ob der Debugger oder der Profiler aktiv sein soll ist einmal die folgende Google Chrome-Erweiterung zu installieren:
Über die Eingabeaufforderung CMD im Docker-Verzeichnis aufrufen und das neue Verzeichnis anlegen:
mkdir -p xdebug CHMOD 777 xdebug
Notwendige Anpassung der xdebug.ini (z. B. unter docker-dev-env\.docker\php-apache):
[xdebug] xdebug.mode=develop,debug,profile xdebug.output_dir=/tmp/xdebug xdebug.start_with_request=trigger
Das unter Punkt 3 definierte Verzeichnis muss nun in den Volumes des jeweiligen Docker-Containers ergänzt werden:
volumes:
- ./xdebug:/tmp/xdebug
Um einen Aufruf einzuloggen muss die „Profilierung“ in der Chrome-Erweiterung „Xdebug Helper by JetBrains“ aktiviert werden.
Wenn der xdebug.start_with_request wie in Punkt 3 beschrieben auf „trigger“ gesetzt wurde, muss in Postman ebenfalls der Cookie mitgesendet werden, damit PHP-STORM bei Breakpoints hält. Hierfür in Postmann rechts oben „Cookies“ aufrufen und folgenden Cookie bei der Domain „localhost“ hinzufügen:
XDEBUG_SESSION=PHP_STORM; Path=/; Expires=Fri, 31 Dec 2038 23:59:59 GMT;
Die Auswertung kann in PHPStorm erfolgen.
„Tools“ ⇒ „Analyze Xdebug Profiler Snapshot…“ ⇒ cachegrind.out-Datei aus „xdebug“-Verzeichnis auswählen