Profiling Laravel applications using the open-source Monica CRM as example
Tideways has powerful built-in instrumentation for Laravel, including Eloquent Models and Blade Templating language. To show this support we have added a demo application using the excellent open-source Laravel application Monica – a CRM for your friends and family. You can sign up for Tideways for free and take a look at this and other demo applications.
The Laravel demo is running on Heroku and using the Heroku composer package for Tideways. Pre-populated with some demo data, we run a complex Siege scenario to generate traffic on various read and write actions every minute.
Tideways framework detection automatically monitors performance, memory usage and requests from individual Laravel controllers and actions, with no code changes necessary:
When you drill down to transaction traces, you can see the performance timeline of individual requests filled with detailed information about Laravel Events, Eloquent Queries and Blade Template renders.
In this trace for the People::edit
controller, we can see that bootstrapping and loading the user object from the session takes the first third of the request, the controller itself takes roughly a third and then the view takes the last third:
Clicking on the Eloquent User model timespan, you can see details which kind of operation was performed on the model:
And for the template you can see its filename:
Tideways provides other Laravel specific instrumentation such as Session garbage collection, service provider bootstrapping time and the duration of all Laravel events. As a result you are always fully informed about the performance of your Laravel application and which performance problems to fix for the biggest improvement.
Try Tideways on your own Laravel applications and sign up for our 30 days free trial.