Lando

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.

1
mv blackfire ~/.lando/plugins/

If the plugins directory doesn't exist, create it:

1
mkdir -p ~/.lando/plugins
  1. Configure Blackfire within Lando by setting up a service:
Loading...
  1. Rebuild Lando:
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

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
  • The probe is automatically installed in PHP application services. For Python, you need to install the PIP package and use blackfire-python instead of python.