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...

Cover photo by Mitchel Boot on Unsplash