Tobias and I have been super busy the last weeks adding more features to Tideways. With new customers joining our awesome group of early adopters every month we can now invest more time working on Tideways. Most of the current work is building new features from scratch which is why it takes so much time compared to previous iterations on the Profiler.
However, we are really excited about the next features and this blog post is about sharing some of that excitement with you.
One feature that we are working on right now is called "Timeline". It implements profiling as initially proposed by Google with a system called Dapper.
The idea is to collect timespans of interesting events that happend during a request. Each timespan can contain contextual information such as SQL queries, URLs in HTTP calls or template names. All timespans are then displayed in a timeline. What got us hooked on this visual design was the possibility to show all the relevant information on a single screen, no endless clicking and zooming necessary anymore.
Have a look at a sneak preview of this feature showing a request of a Shopware 4 application with demo data:
You can see timespans collected for SQL Queries, Events, Templates and Controllers neatly aligned to show the requests sequence from left to right. Hovering over each timespan bubble will show additional context information. You can spot critical performance problems such as slow or N+1 queries within seconds and know exactly when they happened in the request.
Our PHP extension collects this data automatically for common PHP extensions, frameworks and libraries. Here is another example from a Wordpress blog:
We believe Timeline can provide much more valuable profiling data than XHProf in most of the cases. Our initial prototype built in January already proved successful when we worked with Shopware to improve the baseline performance of their new Shopware 5 release.
Signup for Tideways now to get early access when we release timelines in the next days. We will automatically set your trial to 30 days once the release is ready, so that you don't have a disadvantage signing up now.
If you are worried about XHProf callgraphs being removed from Tideways now, don't be. You can still send XHProf traces from your applications either automatically with a sample rate or explicitly triggering them.
Watch out for follow-up posts that explain our rationale for introducing Timeline and why we think it will benefit you when we put less focus on XHProf data. You can follow us on Twitter to keep up to date.