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.

Předchozí kapitola
Výstup profileru
Další kapitola
Jak funguje profiler (do hloubky)