VALENT, T. Analýza výkonu webových aplikací [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

Pavela, Jiří

Práce se zabývala návrhem a vývojem nástroje pro profilování webových komponent napsaných v jazyce TypeScript. Student aktivně komunikoval v průběhu obou semestrů a včas řešil všechny problémy, na které při řešení narazil. Kvalita a rozsah výsledné realizace jsou ovlivněny technickými potížemi a limitacemi ve spojitosti s dostupnými open-source nástroji pro instrumentaci kódu v jazyce TypeScript, a nikoliv neaktivitou nebo nezájmem studenta. Mnoho z těchto limitací a nedostatků jednotlivých nástrojů bylo objeveno až příliš pozdě v průběhu řešení práce, student se však snažil všechny problémy vyřešit co možná nejlepším způsobem. Student nad rámec zadání implementoval více nových způsobů vizualizace spotřeby zdrojů webových aplikací.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Jedná se o průměrně obtížné zadání práce, které nenavazovalo na existující projekty nebo předchozí práce. Všechny body zadání byly splněny.
Práce s literaturou Student si zvládl samostatně vyhledat a nastudovat velké množství literárních zdrojů relevantních k zadání práce.
Aktivita během řešení, konzultace, komunikace Student byl v průběhu řešení práce aktivní a pravidelně se účastnil všech domluvených schůzek, kde prezentoval dosažený postup a aktivně řešil problémy, na které v průběhu řešení narazil.
Aktivita při dokončování Práce byla dokončena s dostatečným předstihem pro zapracování všech připomínek a zpětné vazby.
Publikační činnost, ocenění Práce je dostupná v podobě open-source repozitáře a je v plánu začlenit dosažené výsledky do upstream repozitáře Perun pro budoucí navazující práce.
Navrhovaná známka
B
Body
80

Posudek oponenta

Rogalewicz, Adam

Z prvních kapitol vyplývá, že student chce měřit výkon Typescript aplikací na úrovni prohlížeče. Z práce nicméně není jasné, jestli student nakonec měřil výkon a spotřebu paměti web serveru, nebo klienta. Experimenty v kapitole 8 není množné z dat dodaných společně s prací replikovat. I přes uvedené problémy práce splňuje požadavky kladené na BP a proto doporučuji práci k obhajobě. S ohledem na problémy této práce navrhuji hodnocení známkou D, nebo E.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání
Rozsah splnění požadavků zadání
Rozsah technické zprávy
Prezentační úroveň technické zprávy 65 Práce má na první pohled logickou strukturu a kapitoly na sebe navazují. Nicméně návaznost kapitol 1-5 na kapitoly 6-8 je problematická. Z kapitol 1-5 čtenář pochopí, že cílem práce je profilovat Typescript programy běžící v prohlížečích. Hlavním problémem práce je, že v rámci kapitol 6-8 vyplývá, že student implementoval  něco jiného, než o čem psal na začátku. Navržený a implementovaný profiler je zapojen mezi prohlížeč a web server a měří dobu zpracování HTTP dotazů a spotřebu paměti. Protože vše (server, klient i profiler) běží na jednom počítači, není z textu jasné, co se vlastně doopravdy měří (spotřeba serveru, klienta, nebo obou). Stejně tak není jasné, jestli experimenty 8.3 a 8.4 způsobují zvýšenou režii serveru, nebo klienta. 4.1.3: expected use case: Chybí odkaz na sekci, čtenář neví, co je expected use case. 4.4: Není jasné, proč do porovnání jsou vybrány zrovna tyto profilery. tabulka 4.1, sloupeček Instrumentation: Bylo by vhodné rozdělit na predefined a custom Obrázek 8.1, 8.4, 8.6: škála barev nemá jednotku. Není jasné, co zobrazuje. Použití heatmapy tady asi nedává smysl.
Formální úprava technické zprávy 85 Práce je psána dobře srozumitelnou angličtinou. K práci mám pouze drobnější výtky: 2.5: První a třetí věta jsou shodné. Obrázky 4.2, 4.5 jsou špatně čitelné. 6.1: Whey -> They
Práce s literaturou 90
Realizační výstup 55 Realizační výstup je asi nejslabší částí této práce. Z prvních kapitol jsem očekával nástroj pro profilování typescriptu na úrovni prohlížeče, nebo jeho emulace. Výsledkem je ale proxy server, který se zapojí mezi prohlížeč a web server. Ten pak měří dobu jednotlivých HTTP dotazů. Jak je měřena spotřebovaná paměť není z práce zřejmé (jestli jde o spotřebu serveru, klienta, profileru, nebo všeho). Z experimentů 8.3 a 8.4 není zřejmé, jestli byl kód injektován do serveru, nebo do klienta. Přiložená data bohužel obsahují pouze samotný kolektor. Upravené vzorové typescript skripty použité v experimentech chybí a díky tomu není možné experimenty jednoduše replikovat.
Využitelnost výsledků
Navrhovaná známka
D
Body
60

Otázky

eVSKP id 156868