VALENT, T. Analýza výkonu webových aplikací [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
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í.
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. |
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.
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ů |
eVSKP id 156868