Použití profileru v aplikaci (definice vlastních bloků a zpráv)
Pro použití profileru vámi výjáři a vývojářkami slouží fasáda Jet\Debug_Profiler. Tedy nemusíte vytvářet žádné instance a podobně. Stačí použít pár statických metod této třídy - je to maximálně jednoduché, až primitivní.
Zahájení a ukončení běhového bloku
Pro pořádek si připomeňme, že Profiler umožňuje aplikaci "rozkouskovat" do bloků a sledovat její chování po těchto blocích. Bloky jsou do sebe zanořené hierarchicky, tedy uvnitř bloku mohou být další bloky s tím, že rodičovský blok vždy zahrnuje informace o běhu ve všech blocích - potomcích. Vy pouze musíte říct, že blok chcete zahájít (otevřít) a po té ukončit (uzavřít).
Dejme tomu, že máte podezření, že vaší aplikaci brzdí například komunikace se systémem třetí strany. Můžete si takové místo dát do bloku a pak se ujistit, zda je vaše teorie pravdivá. To provedete takto:
Debug_Profiler::blockStart('My block - problem with something');
//... something ...
Debug_Profiler::blockEnd('My block - problem with something');
A to je celé ... Ve výstupu Profileru pak uvidíte informace o daném bloku.
Uveďme si k tomu ještě několik informací:
- Bloky si můžete pojmenovávat jak chcete. Naopak je žádoucí, aby pojmenování bylo nějak vypovídající (což výše uvedený příklad teda není :-D - pardon ... ).
- Samozřejmě je naprosto nutné, aby byl název stejný jak na začátku, tak na konci bloku.
- Označení bloků může být v aplikaci přítomné i když je Profiler neaktivní. Nic se nestane, prostě to nebude nic dělat. Zůstane pouze drobná režie na zavolání dané metody.
Zprávy a ladící informace
Pro vyhodnocení situace budete někdy potřebovat víc informací, uchovat si stav nějakých hodnot a podobně. To je řešitelné velice snadno takto:
Debug_Profiler::message('It seems to be good...');
Debug_Profiler::message('Value of $var = '. $var);
A informace opět uvidíte u daného běhového bloku ve výstupu.
A to je vše ...
Pro běžné použití profileru je to opravdu vše - nic složitějšího v tom není.
Ale můžete se kouknout jak funguje Profiler do hloubky.