foolz / profiler
monolog-based profiler
Installs: 12 360
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/foolz/profiler
Requires
- php: >=5.4.0
- monolog/monolog: ~1.9
This package is auto-updated.
Last update: 2025-10-21 08:19:43 UTC
README
This package provides a simple to use profiler, with the power of monolog.
Requirements
- PHP 5.4 or higher
- Monolog (automatically installed with composer)
Installation
Install as any composer package.
Setup
You should load the profiler early in your code.
<?php $profiler = new Profiler(); $profiler->enable();
Until enable isn't run, no request will be logged. You can setup monolog handlers to have custom output options:
<?php $profiler = new Profiler(); $profiler->pushHandler(new ChromePHPHandler()); $profiler->enable(); $profiler->log("Profiler enabled");
HTML output
Remember to check whether you have a text/html request before inserting the HTML profiler panel.
You can print the current log at any time with $profiler->getHtml().
If you use a framework you might have a $response variable that handles the data sent to the client.
To put the profiler at the bottom of the page, you may try something similar to the following.
<?php $content = explode('</body>', $response->getContent()); if (count($content) == 2) { $response->setContent($content[0].$this->profiler->getHtml().$content[1]); } $response->send();
Methods
- 
pushHandler()As Monolog's pushHandler() function, allows adding log handlers to the logger
- 
getLogger()Returns the Monolog logger so it can be customized
- 
enable()Enables the profiler and prints how much time was elapsed since the start of the script
- 
isEnabled()Tells if the profiler is enabled
- 
log($string, $context)Logs elapsed time since the beginning of the script and total memory usage The $string variable allows setting a string to identify the entry in the log The $context variable allows adding arbitrary data to the entry
- 
logMem($string, $variable, $context)Logs memory usage of$variable. While checking, a clone of $variable will be created (it can't be helped), so use with caution. For the rest, it works likelog()
- 
logStart($string, $context)Likelog()but it starts a timer
- 
logStop($string, $context)Likelog(), but if called afterlogStart(),$contextwill contain elapsed time
- 
getHtml()Returns an HTML representation of the logged entries