-
Notifications
You must be signed in to change notification settings - Fork 4
Profiling
Grzegorz Rajchman edited this page Mar 9, 2026
·
4 revisions
Performance tests in tripod include a profiler, so if they fail, you can see what's being slow.
We use PHP Profiler package that supports a number of different profiler extensions.
Once you run tests, the results are saved to a JSON-lines file ./profiler/xhgui.data.jsonl.
This file can be then imported to a GUI where it can be inspected, for example: https://github.com/perftools/xhgui
git clone https://github.com/perftools/xhgui.git
cd xhgui
docker compose up -dNow GUI is available at http://xhgui.127.0.0.1.nip.io:8142/ or http://localhost:8142/.
The XHGUI repo includes ./external/import.php script to import the data from a JSON-lines file:
php external/import.php -f <file_path>In the Docker Compose setup this can be done as:
docker compose run --rm -v "${DEVELOPMENT_WORK_DIR}/tripod-php:/tripod-php" xhgui php external/import.php -f /tripod-php/profiler/xhgui.data.jsonlFrom the CircleCI job, Artifacts tab, download xhgui.data.jsonl under profiler.
Then run import:
docker compose run --rm -v "$HOME/Downloads:/profiler" xhgui php external/import.php -f /profiler/xhgui.data.txt