
Anleitungen im Zusammenhang mit Local Beach
Profiling in Local Beach mit Blackfire
Blackfire bietet Einblicke in Leistungsprobleme, die sonst nur schwer zu bekommen sind.
Blackfire konfigurieren
Blackfire-Anmeldeinformationen
Füge das Folgende zur .localbeach.dist.yaml oder zur .env hinzu, je nach deinen Vorlieben. Die benötigten Werte kannst du von https://blackfire.io/docs/php/configuration übernehmen, nachdem du dich in dein Blackfire-Konto eingeloggt hast.
BLACKFIRE_CLIENT_ID=…
BLACKFIRE_CLIENT_TOKEN=…
BLACKFIRE_SERVER_ID=…
BLACKFIRE_SERVER_TOKEN=…
Blackfire-Agent
Bearbeite nun deine .localbeach.docker-compose.yaml und füge diesen neuen Serviceblock für den Agenten hinzu (Zeile 16 kann je nach Bedarf angepasst oder weggelassen werden):
blackfire:
image: blackfire/blackfire:2
container_name: ${BEACH_PROJECT_NAME:?Please specify a Beach project name as BEACH_PROJECT_NAME}_blackfire
depends_on:
- php
networks:
- local_beach
security_opt:
- no-new-privileges
environment:
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
- BLACKFIRE_SERVER_ID=${BLACKFIRE_SERVER_ID}
- BLACKFIRE_SERVER_TOKEN=${BLACKFIRE_SERVER_TOKEN}
- BLACKFIRE_DISABLE_LEGACY_PORT=true
- BLACKFIRE_LOG_LEVEL=4
ports:
- "8307"
Blackfire PHP-Probe
Die Sonde ist bereits Teil des PHP-Images. Um sie zu aktivieren, fügst du Folgendes zum Umgebungsabschnitt des php-Serviceblocks in .localbeach.docker-compose.yaml hinzu:
- BEACH_ADDON_BLACKFIRE_ENABLE=true
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
- BLACKFIRE_AGENT_SOCKET=tcp://${BEACH_PROJECT_NAME:?Please specify a Beach project name as BEACH_PROJECT_NAME}_blackfire:8307
Benutze den Profiler
Jetzt kannst du entweder CLI-Befehle innerhalb von Local Beach wie folgt profilieren:
beach exec
$ blackfire run ./flow...
Oder du benutzt die Blackfire-Browsererweiterung oder die CLI, um ein Profil deiner Webanfragen zu erstellen...