colindecarlo / jank-profiler
A profiler for when you don't want to figure out profilers.
0.2.0
2015-03-07 00:01 UTC
Requires
- php: >=5.6.0
This package is not auto-updated.
Last update: 2024-10-26 16:20:47 UTC
README
For when you don't want to figure out actual profilers.
Use Jank Profiler to wrap individual objects in your application to track memory usage and execution time of method calls belonging to that objects public api.
Usage
Let's say you have some code in your application that looks like this:
$myQuestionableObject = new WhompWhompDoDad(['thinger_option_x' => true]); $whompTimes = 3; $myQuestionableObject->whomp($whompTimes); $myQuestionableObjecct->doDad();
you can jank profile the WhompWhompDoDad
instance like this:
$myQuestionableObject = new JankProfiler('WhompWhompDoDad', [['thinger_option_x' => true]]); $whompTimes = 3; $myQuestionableObject->whomp($whompTimes); $myQuestionableObjecct->doDad(); echo $myQuestionableObject->report('json') . "\n"; exit;
This will produce JSON output similar to:
[
{
"type": "construct",
"meta": {
"classname": "WhompWhompDoDad",
"constructor_args": [
{
"thinger_option_x": true
}
]
},
"memory_before": 464280,
"start_time": 1425158122.1155,
"memory_after": 477968,
"end_time": 1425158122.116
},
{
"type": "method call",
"meta": {
"method": "whomp",
"arguments": [
3
]
},
"start_time": 1425158122.116,
"memory_before": 479896,
"end_time": 1425158122.116,
"memory_after": 480312
},
{
"type": "method call",
"meta": {
"method": "doDad",
"arguments": []
},
"start_time": 1425158122.116,
"memory_before": 481976,
"end_time": 1425158122.116,
"memory_after": 482344
}
]
Pretty neat!
Author
Colin DeCarlo, colin@thedecarlos.ca
License
Jank Profiler is licensed under the MIT License - see the LICENSE file for details