BlackFire est un outil pour vous aider à comprendre ce qu'il se passe dans votre code, et trouver les goulots d'étranglement pour améliorer les performances.
Voilà un exemple d'installation dans un container PHP :
Dockerfile
Ensuite pour profiler du PHP en CLI :
Voilà un exemple d'installation dans un container PHP :
Dockerfile
FROM php:7.3.7-cli
# Install BlackFire
RUN echo "foo"
RUN \
apt-get update \
&& apt-get install -y gnupg2 wget \
&& wget -q -O - https://packages.blackfire.io/gpg.key | apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" | tee /etc/apt/sources.list.d/blackfire.list \
&& apt-get update \
&& apt-get install -y blackfire-agent blackfire-php
# Configure BlackFire
COPY .blackfire.ini /root/.blackfire.ini
ARG BLACKFIRE_CLIENT_ID
ARG BLACKFIRE_CLIENT_TOKEN
ARG BLACKFIRE_SERVER_ID
ARG BLACKFIRE_SERVER_TOKEN
RUN \
sed "s/^client-id=$/client-id=${BLACKFIRE_CLIENT_ID}/" -i /root/.blackfire.ini \
&& sed "s/^client-token=$/client-token=${BLACKFIRE_CLIENT_TOKEN}/" -i /root/.blackfire.ini \
&& sed "s/^server-id=$/server-id=${BLACKFIRE_SERVER_ID}/" -i /etc/blackfire/agent \
&& sed "s/^server-token=$/server-token=${BLACKFIRE_SERVER_TOKEN}/" -i /etc/blackfire/agent
blackfire.sh
#!/usr/bin/env bash
readonly BLACKFIRE_CLIENT_ID=
readonly BLACKFIRE_CLIENT_TOKEN=
readonly BLACKFIRE_SERVER_ID=
readonly BLACKFIRE_SERVER_TOKEN=
.blackfire.ini
[blackfire]
ca-cert=
client-id=
client-token=
endpoint=https://blackfire.io
http-proxy=
https-proxy=
timeout=15s
Builder votre image
source blackfire.sh
docker build \
-t ${PROJECT_NAME} \
--build-arg BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID} \
--build-arg BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN} \
--build-arg BLACKFIRE_SERVER_ID=${BLACKFIRE_SERVER_ID} \
--build-arg BLACKFIRE_SERVER_TOKEN=${BLACKFIRE_SERVER_TOKEN}
Ensuite pour profiler du PHP en CLI :
blackfire run php ...
Aucun commentaire:
Enregistrer un commentaire