Lando is a development platform based on Docker containers, which dramatically simplifies local development and DevOps.
Blackfire provides an official plugin for Lando, so that you can seamlessly leverage the power provided by Blackfire Profiler and Lando.
Assets
, download blackfire-lando.zip
);blackfire
folder to the Lando plugins folder:1 | mv blackfire ~/.lando/plugins/ |
Note
If the plugins
directory doesn’t exist, create it:
1 | mkdir -p ~/.lando/plugins |
or Sign Up to display your Blackfire credentials.
services: blackfire: type: blackfire server_id: <YOUR_BLACKFIRE_SERVER_ID> server_token: <YOUR_BLACKFIRE_SERVER_TOKEN> client_id: <YOUR_BLACKFIRE_CLIENT_ID> client_token: <YOUR_BLACKFIRE_CLIENT_TOKEN>
1 | lando rebuild
|
If you need to increase the log level for the Blackfire Probe or Agent, you may
configure the log_level
directive:
1 2 3 4 5 | services: blackfire: type: blackfire # ... log_level: 4 |
Then run lando rebuild
.
You can now check the logs:
1 2 3 4 5 | # Blackfire agent log lando logs -s blackfire # Blackfire probe log, as part of the appserver ones lando logs -s appserver |
blackfire
and blackfire-player
as Lando Commands¶When using the Blackfire Lando plugin, blackfire
and blackfire-player
are getting installed in your application container.
You may expose these commands as Lando Tooling Commands using the following snippet in your Landofile:
1 2 3 4 5 6 7 8 | # .lando.yml tooling: blackfire: # Replace "appserver" by your app container name if needed service: appserver blackfire-player: service: appserver |
This snippet makes it possible to run blackfire
and blackfire-player
commands from the application container in the following way:
1 2 | lando blackfire version lando blackfire-player run .blackfire.yaml |
By default, Lando’s main app service is called appserver
.
If you decided to call it differently, you need to configure the blackfire
service:
1 2 3 4 | services: blackfire: type: blackfire app_service: my_app_service_name |
blackfire-python
instead of
python
.