Profiling Collaboration via Teams

By Fabien Potencier, on Mar 25, 2015

From day one at Blackfire, we wanted to make it possible to easily and securely profile applications in the production environment.

We achieved simplicity via auto-instrumentation and a browser extension (the companion) that allows you to trigger code execution data gathering from the outside without any code changes.

But of course, you don’t want anyone having the Blackfire browser extension to be able to profile your application. Each account on Blackfire is associated with automatically generated “server” credentials. This server id and server token are personal and once you configured them on a server (your laptop, a staging environment, or a production server), it forbids anyone but you to trigger the Blackfire profiling system.

But what if you are part of a team of developers? Restricting profiling to only one person in a team is a real limitation even for small teams; everyone in a team should be able to continuously profile an application hosted on a shared infrastructure. Moreover, the team should be able to collaborate on performance: sharing profiles privately, working together on performance regressions, and more.

As a matter of fact, the Blackfire security layer was the very first “feature” we designed after the first working prototype of the probe and the UI; and we thought about a lot of use cases to make it very flexible.

The process of creating and configuring a team is deliberately simple. Create a team:

create-a-team

And add collaborators:

add-a-collaborator

A team is associated with a specific set of server credentials that you can use to configure your servers. Once done, anyone in the team will be able to profile on behalf of the team:

team

For collaborators, profiling becomes as easy as it can get; they don’t need to bother with credentials, configuration or anything else. Profiling for them is just a matter of creating an account on Blackfire and installing the Chrome companion, nothing more. Of course, they can also use the Blackfire CLI tool if they want to.

Instead of configuring the team credentials on a server as a whole, you can restrict the credentials to a specific host on a server; or use the same credentials on several servers.

Many Blackfire users are concerned about our business model and how we are going to keep the free plan forever. It’s great developers realize that there is no free lunch after all. As promised, we will keep a free plan that will allow people to profile their applications even after the beta ends. But we will also introduce some paid plans that will give power users more features, more flexibility, more in-depth data, and more automation.

As you’ve probably understood now, “Teams” is the first feature of our upcoming Enterprise Edition. If you are interested, don’t hesitate to get in touch and contact me at my brand new email address: fabien [at] blackfire.io!

Happy team profiling!

Fabien Potencier

Fabien Potencier is the CEO and founder of Blackfire.io. He founded the Symfony project in 2004 as he constantly looked for better ways to build websites. Fabien is also the creator of several other Open-Source projects, a writer, a blogger, a speaker at international conferences, and the happy father of two wonderful kids.