Timeline Profiler

Tideways traces are displayed in a timeline starting from the beginning of a request until the end. The profiler collects interesting operations such as SQL statements, controller calls, or rendering of templates, and places them onto the timeline view. Each individual operation is represented by a timespan.

You can click on each individual timespan to see details about it. For SQL statements, Tideways collects anonymized queries, and for templates it collects the template name, for HTTP calls the host, url and response codes. Spans that took longer than a configured threshold also include the PHP backtrace. You can toggle between the response time (latency) and the memory timeline views.

Stacktraces on Spans

When viewing a timespan it may show the stacktrace of functions that lead to its collection. For example all function calls leading up to an HTTP request with curl_exec.

A stacktrace for HTTP span made with curl_exec

For some vendor libraries such as Guzzle, Doctrine and more, Tideways will cut the stacktrace at the vendor boundary and will store the internal frames of the library or framework that ultimately lead to the span’s collection. This ensures that you see frames from your application code to identify where the span originated in your code-base.

A stacktrace for HTTP span made with Guzzle

By default spans that run for 3ms or longer are eligble for collection of the stacktrace. The stacktrace will include 5-10 frames depending on the duration of the span.

There are limits to the number of stacktraces and total frames that a trace can contain, which depend on the organization and project plan.

Still need help? Email [email protected]