diff --git a/laravel/documentation/contents.md b/laravel/documentation/contents.md index 50c16e9c6fe..909da4c5482 100644 --- a/laravel/documentation/contents.md +++ b/laravel/documentation/contents.md @@ -65,6 +65,7 @@ - [Upgrading Bundles](/docs/bundles#upgrading-bundles) - [Class Auto Loading](/docs/loading) - [Errors & Logging](/docs/logging) +- [Profiler](/docs/profiler) - [Runtime Configuration](/docs/config) - [Examining Requests](/docs/requests) - [Generating URLs](/docs/urls) diff --git a/laravel/documentation/profiler.md b/laravel/documentation/profiler.md new file mode 100644 index 00000000000..fe003c37743 --- /dev/null +++ b/laravel/documentation/profiler.md @@ -0,0 +1,38 @@ +# Profiler + +## Contents +- [Logging to the Proiler](#logging) +- [Timers and Benchmarking](#timers) + + +## Logging + +It is possible to use the profiler to the Log viewing portion of the profiler. Throughout your application you can call the logger and have it displayed when the profiler is rendered. + +#### Logging to the profiler: + + Profiler::log('info', 'Log some information to the profiler'); + + +## Timers + +Timing and benchmarking your app is simple with the ```tick()``` function on the profiler. It allows you to set various different timers in your app and will show you their performance when your app ends execution. + +Each timer can have it's own individual name which gives it a timeline. Every timer with the same name is another 'tick' on that timeline. Each timer can also execute a callback on it to perform other operations. + +#### Using the generic timer timeline + + Profiler::tick(); + Profiler::tick(); + +#### Using multiple named timers with seperate timelines + + Profiler::tick('myTimer'); + Profiler::tick('nextTimer'); + Profiler::tick('myTimer'); + Profiler::tick('nextTimer'); + +#### Using a named timer with a callback + Profiler::tick('myTimer', function($timers) { + echo "I'm inside the timer callback!"; + });