Blackfire Profiler

Last updated
Blackfire
Developer(s) SensioLabs
Stable release
1.4.0
Written in Go, PHP and JavaScript
Operating system Linux Mac OS X FreeBSD and Microsoft_Windows
Type Performance analysis
License commercial
Website blackfire.io

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

Contents

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, Drupal, Symfony and 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

Related Research Articles

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

Symfony

Symfony is a PHP web application framework and a set of reusable PHP components/libraries. It was published as free software on October 18, 2005 and released under the MIT license.

This is a comparison of notable web frameworks, software used to build and deploy web applications.

Zend Server is a complete and certified PHP distribution stack originally developed by Zend Technologies. It ships a set of features designed to optimize productivity, performance, scalability, and reliability.

Node.js JavaScript runtime environment

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

A Web-based slideshow is a slide show which can be played using a web browser. Some web based slide shows are generated from presentation software and may be difficult to change. Others offer templates allowing the slide show to be easily edited and changed.

Friendica Free software for distributed social networks

Friendica is a free and open-source software distributed social network. It forms one part of the Fediverse, an interconnected and decentralized network of independently operated servers.

Composer (software) Software; application level dependency manager for the PHP programming language

Composer is an application-level package manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. It was developed by Nils Adermann and Jordi Boggiano, who continue to manage the project. They began development in April 2011 and first released it on March 1, 2012. Composer is strongly inspired by Node.js's "npm" and Ruby's "bundler". The project's dependency solving algorithm started out as a PHP-based port of openSUSE's libzypp satsolver.

Laravel Open source web application framework, written in PHP

Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel are a modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.

appserver.io is an application server for PHP based web environments. The project consists of middleware which delivers classical PHP web applications and provides additional services.

Algolia is a U.S. startup company offering a web search product through a SaaS model.

Deeplearning4j

Eclipse Deeplearning4j is a programming library written in Java for the Java virtual machine (JVM). It is a framework with wide support for deep learning algorithms. Deeplearning4j includes implementations of the restricted Boltzmann machine, deep belief net, deep autoencoder, stacked denoising autoencoder and recursive neural tensor network, word2vec, doc2vec, and GloVe. These algorithms all include distributed parallel versions that integrate with Apache Hadoop and Spark.

Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation. It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts". It works with a range of container tools and runs containers in a cluster, often with images built using Docker. Kubernetes originally interfaced with the Docker runtime through a "Dockershim"; however, the shim has since been deprecated in favor of directly interfacing with containerd or another CRI-compliant runtime.

Movim

Movim is a distributed social network built on top of XMPP, a popular open standards communication protocol. Movim is a free and open source software licensed under the AGPL. It can be accessed using existing XMPP clients and Jabber accounts.

Backdrop CMS

Backdrop CMS is an Open source, community-developed, content management system, written in PHP, and licensed under the GNU General Public License. Backdrop CMS was forked from the Drupal CMS in 2013 by two Drupal developers, Nate Lampton and Jen Lampton. Backdrop is very similar to version 7 of the Drupal CMS, maintaining most of the same functionality and features. The project's mission is to "enable people to build highly customized websites affordably, through collaboration and open source software".

OpenIO

OpenIO offers object storage for a wide range of high-performance applications. OpenIO was founded in 2015 by Laurent Denel (CEO), Jean-François Smigielski (CTO) and five other co-founders; it has leveraged open source software, developed since 2006, based on a grid technology that enables dynamic behaviour and supports heterogenous hardware. In October 2017 OpenIO completed a $5 million funding round. In July 2020 OpenIO has been acquired by OVH.

PeachPie

PeachPie is an open-source PHP language compiler and runtime for .NET and .NET Core frameworks. It is built on top of the Microsoft Roslyn compiler platform and is based on the first-generation Phalanger project. PeachPie compiles source code written in PHP to CIL byte-code. PeachPie takes advantage of the JIT compiler component of the .NET Framework in order to handle the beginning of the compilation process. Its purpose is not to generate or optimize native code, but rather to compile PHP scripts into .NET assemblies containing CIL code and meta-data. In July 2017, the project became a member of the .NET Foundation.

RoadRunner is an open-source application server, load-balancer, and process manager written in Golang (Go) and implemented by PHP 7. It is used in rapid application development to speed up the performance of large web applications.

References

  1. Sensiolabs. "Configuration - Blackfire". blackfire.io. Retrieved 2015-03-22.
  2. "Blackfire and recent performance optimizations in ownCloud | ownCloud.org". owncloud.org. Retrieved 2015-03-22.
  3. "Make the InstallKernel progressively build the container instead of building, compiling and dumping from scratch on every module install (38x) [#2396939]| Drupal.org". drupal.org. Retrieved 2015-03-22.
  4. "[DomCrawler] Improve namespace discovery performance by jakzal · Pull Request #14012 · symfony/symfony · GitHub". github.com. Retrieved 2015-03-22.
  5. "Researching Laravel 5 Framework". github.com. Retrieved 2015-04-10.
  6. Blackfire.io. "Blackfire Blog". blog.blackfire.io. Retrieved 2015-03-22.
  7. "Blackfire · GitHub". github.com. Retrieved 2015-03-22.
  8. Sensiolabs. "Profiling Web Pages - Blackfire". blackfire.io. Retrieved 2015-03-22.
  9. Sensiolabs. "Profiling CLI Scripts - Blackfire". blackfire.io. Retrieved 2015-03-22.
  10. Sensiolabs. "Profile an API/Web Service Call - Blackfire". blackfire.io. Retrieved 2015-03-22.