2 года назад
История
ReadMe.md
Трекер ООП-объектов
Декоратор для измерения времени выполнения и использованной памяти методами класса.
Пример:
<?php
use DanishIgor\ObjectTracker\TrackerDecorator;
class TestClass
{
private $storage;
public function methodWithParams($bool, $integer, $float, $string, $array, $object, $resource, $callback)
{
for ($i = 0; $i < 400000; $i++) {
$this->storage[] = new \stdClass();
}
}
public function methodWithoutParams()
{
for ($i = 0; $i < 200000; $i++) {
$this->storage[] = new \stdClass();
}
}
}
/**
* @var TestClass|TrackerDecorator $decoratedTestClass Decorated object.
*/
$decoratedTestClass = new TrackerDecorator(new TestClass());
$decoratedTestClass->methodWithParams(
true,
234,
100.23,
"MyString param!",
[1, 23, "33", new \stdClass()],
new \stdClass(),
tmpfile(),
function () {
return "test";
}
);
$decoratedTestClass->methodWithoutParams();
print_r($decoratedTestClass->getTrackerStatistics());
Вывод:
Array
(
[0] => Array
(
[0] => MethodName
[1] => Parameters(param1tame:param1type; ... paramXname:paramXtype)
[2] => WorkTime(seconds)
[3] => WorkMemory(bytes)
)
[1] => Array
(
[0] => methodWithParams
[1] => boolean:1;integer:234;double:100.23;string:MyString param!;array:[1,23,"33",{}];object:stdClass;resource:stream;object:Closure
[2] => 0.10632991790771
[3] => 39060584
)
[2] => Array
(
[0] => methodWithoutParams
[1] => [MISSING]
[2] => 0.055673122406006
[3] => 28971520
)
)
Конвейеры
0 успешных
0 с ошибкой