You should install php pinba extension manually. See documentation.
"require": {
"bankiru/yii-pinba": "~0.1"
}
Releases of Pinba extension for Yii framework are available on Github.
To enable this extension you need add Pinba to component list in config.php and do some simple configurations
'pinba' => array(
'class' => 'Bankiru\\Yii\\Profiling\\Pinba\\Pinba',
'fixScriptName' => true, // changes script_name in pinba to controller/action or to command args in cli mode. Default true
'scriptName' => null, // default null (if null pinba would use autodetect)
'hostName' => null, // default null (if null pinba would use autodetect)
'serverName' => null, // default null (if null pinba would use autodetect)
'schema' => null, // default null (if null pinba would use autodetect)
'profileEvents' => [], // default empty array
)
In addition you need to add pinba extension to preload
section.
Available 2 methods to profile.
- through direct call Timer class
- using yii events
Timer class has static methods:
- start
- stop
- add
- delete
- tagsMerge
- tagsReplace
- dataMerge
- dataReplace
- getInfo
- getAll
- stopAll
which wraps pinba_* functions.
Extension always tracks CApplication request (onBeginRequest, onEndRequest).
Custom profilings can be added through config. For example:
'pinba' => array(
'class' => 'Bankiru\\Yii\\Profiling\\Pinba\\Pinba',
'profileEvents' => [
['my-component-name', 'profiling_action_name', 'onBeginActionEventName', 'onEndActionEventName'],
],
)