Profiler
FLORES Profiler je profilovací nástroj, který je schopen měřit čas některých vybraných metod. Je určen především servisním konzultantům servisní sítě výrobce a vývojářům. Nástroj je možné spustit klávesovou zkratkou Ctrl+Alt+Shift+F12. Profiler je taktéž k dispozici v okně otevřeného rozhranní.
V horní liště nástroje je k dispozici několik funkcí:
| Název | popis |
|---|---|
| Start/Stop |
Pomocí funkce Start, resp. Stop uživatel spustí, resp. zastaví profilování. Profilování je inkrementální a dokud se neprovede export statistik pak se naměřené časy sčítají. Profilování lze také spustit při startu systému IS FLORES pomocí parametru spuštění ProfilingAutoStart. Měření musí začít a skončit ve stejném bodě. Pokud tedy např. chceme změřit jak dlouho trvá tisk reportu, je třeba začít měření buď v agendě a vrátit se zpět do téže agendy nebo začít měření v malém číselníku tiskových sestav a po tisku se vrátit zpět do téhož malého číselníku (tiskneme přes funkci preview pomocí zkratky Ctrl+P). V opačném případě zobrazí Profiler chybu "list index out of bounds". |
| Export statistics | Provede export statistik naměřených časů, tj. dojde k jejich zobrazení. Zároveň se tím také vynuluje vnitřní počítadlo a při opětovném spuštění profilování se počítá od nuly. |
| Load... | Umožňuje načíst naměřené statistiky ze souboru s příponou *.ap. |
| Save... | Umožňuje uložit naměřené statistiky do souboru s příponou *.ap. |
Nástroj zobrazuje seznam metod, resp. jejich skupin a případně i informace o voláních:
| Název | popis |
|---|---|
| Group By Area, Class, Method | Pohled seskupinovaný dle oblastí, tříd a metod. V tomto pohledu je zobrazen také detail volání, pokud je k dispozici. Jedná se o určité užitečné části kódu, např. SQL dotazy. |
| Group By Area, Method | Pohled seskupinovaný dle oblastí a metod. |
| Group By Area | Pohled seskupinovaný dle oblastí. |
| Callers | Zobrazí okno s nadřazenými volajícími, které volají aktuální řádek. |
| Children Calls | Zobrazí okno vnořených volání, které volá aktuální řádek. Při pokliku na řádek vnořeného volání se kurzor označí toto vnořené volání v hlavním seznamu. |
| tbPrevMethod | Funkce zatím není k dispozici. |
| tbNextMethod | Funkce zatím není k dispozici. |
| Název | popis |
|---|---|
| method |
Název metody. Prefix před jejím názvem označuje oblast, do které metoda patří. Tyto oblasti jsou nadefinované interně a umožňují snazší orientaci mezi metodami. Oblasti jsou odlišené barvou. Výčet oblastí je následující:
Při vyhledávání problémů je vhodné se nejprve zaměřit na oblast E, která by neměla vůbec nastávat, dále SCR, SG, UF a efektivitu SQL dotazů. |
| w/children | Celkový čas v sekundách s vnořenými voláními. Jedná se o součin sloupců calls a avg. Uživatel typicky seřadí seznam dle hodnot ve sloupci w/children a postupuje podle nejdelších časů. Podezřelé bývají např. ty části kódu, které se volají často a trvají dlouho. |
| wo/children | Čas v sekundách bez vnořených volání. Jde o nepokryté oblasti, kterých by v budoucích verzích mělo ubývat. |
| calls | Počet volání. |
| min | Nejkratší naměřené volání. |
| max | Nejdelší naměřené volání. |
| avg | Průměrný čas volání. |
Hodnoty lze řadit poklikem myši na záhlaví sloupce.