If I have this example :
class A {
    public function test(){
        echo 'a';
    }
}
class B {
    public function test(){
        echo 'b;
    }
}
class C {
    public function test(){
        (new A())->test();
    }
}
(new A())->test();
(new B())->test();
(new C())->test();
I want to get array with all called functions and classes, something like:
[
    'A' => [
        'function' => 'test',
        'count'    => 2,
        'miliseconds' => 20,
        'miliseconds_each' => [5, 15],
    ],
    'B' => [
        'function' => 'test',
        'count'    => 1,
        'miliseconds' => 25,
        'miliseconds_each' => [25],
    ],
    'C' => [
        'function' => 'test',
        'count'    => 1,
        'miliseconds' => 30,
        'miliseconds_each' => [30],
    ]
]
Notice: I want solution for whole framework not just bad workaround for this small example.
 
     
    