# Blackfire Profiler

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Blackfire_Profiler
> Markdown URL: https://mediated.wiki/source/Blackfire_Profiler.md
> Source: https://en.wikipedia.org/wiki/Blackfire_Profiler
> Source revision: 1334540388
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

**Blackfire Profiler** is a tool that instruments [PHP](/source/PHP) applications to gather data about consumed server resources like memory, CPU time, and I/O operations. Blackfire is also a [SaaS service](/source/Software_as_a_service) to visualize any [callgrind-compatible](/source/Valgrind) profile.

Its architecture [1][non-primary source needed] is based on a Probe, which is a PHP extension that gathers the raw performance profiles and an Agent, which is a server-side daemon that aggregates and forwards profiles to blackfire.io servers to visualize them.

Blackfire has been used by some popular PHP projects such as [ownCloud](/source/OwnCloud), [Drupal](/source/Drupal), [Symfony](/source/Symfony) and [Laravel](/source/Laravel) to improve their performance[2] and to spot performance bottlenecks.[3][4][better source needed][5][better source needed]

As of March 2015 Blackfire is actively developed.[6][7][better source needed]

## Features

- Profile web pages,[8][non-primary source needed] command line scripts [9][non-primary source needed] and APIs and web services.[10][non-primary source needed]
- Compatible with the profiles generated with XHProf, [Xdebug](/source/Xdebug) and Google Chrome CPU Profiler.
- Compare two profiles to spot the parts of the application which have been improved or degraded.
- Automatic aggregation of negligible internal PHP functions.
- Detection of PHP Garbage Collector cycles.
- [Application performance management](/source/Application_performance_management) (APM).[11]

## References

1. Sensiolabs. ["Configuration - Blackfire"](https://blackfire.io/doc/configuration#general-workflow). blackfire.io. Retrieved 2015-03-22.

1. ["Blackfire and recent performance optimizations in ownCloud | ownCloud.org"](https://owncloud.org/blog/blackfire-io-and-recent-performance-optimizations-in-owncloud/). owncloud.org. Retrieved 2015-03-22.

1. ["Make the InstallKernel progressively build the container instead of building, compiling and dumping from scratch on every module install (38x) \[#2396939\] | Drupal.org"](https://www.drupal.org/node/2396939). drupal.org. Retrieved 2015-03-22.

1. ["\[DomCrawler\] Improve namespace discovery performance by jakzal · Pull Request #14012 · symfony/symfony · GitHub"](https://github.com/symfony/symfony/pull/14012). github.com. Retrieved 2015-03-22.

1. ["Researching Laravel 5 Framework"](https://github.com/neomerx/rhw-l5#researching-laravel-5-framework). github.com. Retrieved 2015-04-10.

1. Blackfire.io. ["Blackfire Blog"](http://blog.blackfire.io/). blog.blackfire.io. Retrieved 2015-03-22.

1. ["Blackfire · GitHub"](https://github.com/blackfireio). github.com. Retrieved 2015-03-22.

1. Sensiolabs. ["Profiling Web Pages - Blackfire"](https://blackfire.io/doc/web-page). blackfire.io. Retrieved 2015-03-22.

1. Sensiolabs. ["Profiling CLI Scripts - Blackfire"](https://blackfire.io/doc/cli-tutorial). blackfire.io. Retrieved 2015-03-22.

1. Sensiolabs. ["Profile an API/Web Service Call - Blackfire"](https://blackfire.io/doc/web-services). blackfire.io. Retrieved 2015-03-22.

1. Sensiolabs. ["Application Performance Monitoring"](https://www.blackfire.io/monitoring). blackfire.io. Retrieved 2021-05-05.

## External links

- [Official website](https://blackfire.io/)
- [Profiling with Blackfire for WordPress](https://maheshwaghmare.com/profiling-with-blackfire-for-wordpress/)

---
Adapted from the Wikipedia article [Blackfire Profiler](https://en.wikipedia.org/wiki/Blackfire_Profiler) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Blackfire_Profiler?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
