
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:8307Benutze 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...