Installing Blackfire

Installing and updating Blackfire should be a quick process. This document will guide you through the steps.

For a better experience, you should or .

Tell us what you want to do:

I want to Blackfire
on
which uses
for the language.

The v2 version is the one you want to use. If you have automation based on the previous version, select v1, which is still supported until the end of 2021.

If you are upgrading from v1, please read the upgrade guide.

To start using Blackfire, we are going to install the following:

  • A language extension;
  • An agent to communicate with Blackfire's servers;
  • A profiling client (a browser extension or a CLI tool).

Blackfire uses a custom Debian repository to distribute its packages; it is compatible with most Debian-based distributions like Ubuntu and Linux-Mint.

  1. Register the packagecloud key:
    wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add -
  2. Add the repository to Debian source list:
    echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list
  3. Update the repositories:
    sudo apt update
  1. Install the blackfire package:
    sudo apt install blackfire
  1. This command asks for some Blackfire server credentials, log in or sign up now to get them:

    or

    Learn more about the agent configuration file.
  2. Restart the agent service:
    sudo systemctl restart blackfire-agent

    During the agent installation, a new blackfire-agent service was created to start, stop, and restart it. Whenever you modify the agent configuration, restart it.

  3. If something goes wrong, check out the log file generated by default in /var/log/blackfire/agent.log. Change the log file or the log level in the agent configuration file.
  1. Install the blackfire-php package:
    sudo apt install blackfire-php
  2. Restart your web server or PHP-FPM and check that there are no errors in the logs. To debug problems, you can change the log level and the log file in the Probe configuration.

Known incompatibilities

PHP will likely crash when Blackfire is used when one of the following extensions is also enabled: XHProf, Pinba, and Suhosin.

If XDebug is installed, the PHP engine may not behave as expected; consider disabling it when profiling.

If pcov extension is installed, Blackfire will not behave as expected; consider disabling it when profiling.

To profile applications, you need to use a profiling client:

  • Profile from a browser via our browser extensions (Web applications only).

  • Profile from the command line via the blackfire tool (Web applications, APIs, command line tools, daemons, and more).

    Configure it with your personal credentials:

    blackfire client:config --client-id=CLIENT_ID --client-token=CLIENT_TOKEN

Start profiling via: