Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Martin Ptáček
Acad. year: 2022/2023
Supervisor: RNDr. Marek Rychlý, Ph.D.
Reviewer: doc. Ing. Radek Burget, Ph.D.
This thesis deals with expanding the ecosystem of the time-series database Prometheus to enable monitoring for Android devices. The aim of this thesis is to implement a Prometheus exporter for Android devices. The final implementation of this exporter does not only support exposing metrics directly to Prometheus but also supports storing metrics on-device when offline and exporting them later in a batch. The application also includes a mode which can export metrics to Prometheus over a NAT or similar network barrier. Over 35 different metrics of the Android device are exported to the Prometheus database. The reader is presented with the results of tests regarding the energy efficiency of the implementation. The work is released as open-source software on the Github platform.
Prometheus database, Time series database, Android application, Prometheus Exporter, Metrics, Grafana, NAT traversal, Kotlin, Jetpack Compose, Device Monitoring, PromQL query language
Date of defence
22.08.2023
Result of the defence
Defended (thesis was successfully defended)
Grading
C
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných, např. ohledně srovnání s jinými databázovými systémy pro časové řady, důvodů pro volbu systému Prometheus či veřejného využití dosažených výsledků. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
prof. Ing. Tomáš Hruška, CSc. (předseda) Ing. Jiří Matoušek, Ph.D. (člen) Ing. Tomáš Milet, Ph.D. (člen) Ing. Jiří Hynek, Ph.D. (člen) doc. Ing. František Zbořil, CSc. (člen)
Supervisor’s reportRNDr. Marek Rychlý, Ph.D.
Oceňuji počáteční zaujetí studenta a aktivitu v první části řešení. Při dokončování však nastaly problémy a práce byla odevzdána i se zpožděním na poslední chvíli. Přestože jsem s výsledným dílem spokojen, považuji postup řešení práce za podprůměrný a navrhuji hodnotit práci stupněm uspokojivě (D).
Cílem práce bylo vyvinout aplikaci pro export stavu Android zařízení do databáze Prometheus. Obtížnější částí práce byl návrh způsobu přenosu dat při různé konfiguraci a stavu sítě a s minimální spotřebou energie. Zadání považuji za splněné.
Při získávání studijních materiálů byl student aktivní a sám vyhledal a nastudoval související problematiku především k technickým aspektům řešení.
Student byl aktivní především v prvním semestru řešení a pak až před odloženým odevzdáním práce. V uvedených obdobích však své řešení řádně konzultoval.
Práce byla dokončována po odkladu a na poslední chvíli. Technická zpráva byla konzultována pouze rámcově (na úrovni struktury, tj. zamýšlených kapitol a jejich sekcí) a její definitivní obsah byl vedoucímu znám až po odevzdání.
Bez publikací či ocenění. Výsledné programové řešení zveřejněno jako opensource.
Grade proposed by supervisor: D
Reviewer’s reportdoc. Ing. Radek Burget, Ph.D.
Úroveň předložené technické zprávy je podle mého názoru hraniční zejména kvůli přílišné stručnosti částí věnovaných návrhu a testování vlastní aplikace. Na druhou stranu po formální stránce je práce dobrá, implementace je popsána na přijatelné úrovni a všechny nezbytné informace jsou v technické zprávě nakonec obsaženy. Vytvořená aplikace je funkční, potenciálně užitečná a pečlivě implementovaná. Ve výsledku proto navrhuji hodnotit práci jako uspokojivou (D).
Evaluation level: průměrně obtížné zadání
Zadání předpokládá studium poměrně běžných a dobře dokumentovaných technologií a návrh a implementaci aplikace pro mobilní zařízení. Náročnost zadání považuji za průměrnou.
Evaluation level: zadání splněno s drobnými výhradami
Zadání bylo v základní podobě splněno. Splnění bodu 2 však vyplývá spíše z implementované aplikace, než z technické zprávy, která této části věnuje půl stránky (str. 11). K bodu 4 technická zpráva stručně zmiňuje, že bylo provedeno manuální testování zahrnující i energetickou náročnost apliace, o dalších testech (např. jednotkové testy) jsem však žádné informace nenašel.
Evaluation level: téměř splňuje minimální požadavky
Rozsah technické zprávy odhaduji na 44 normostran a formálně tedy splňuje minimální požadavky. Téměř všechny části jsou však velmi stručné a chybí v nich důležité informace. Nejcitelněji se to týká kapitol věnovaných návrhu vlastní aplikace a testování, jak uvádím níže.
Struktura technické zprávy odpovídá zadání a rozbor nástroje Prometheus je dostatečně detailní. Také implementace klíčových částí řešení je popsána poměrně podrobně. Další části jsou však již velmi stručné na hranici přijatelnosti. Návrhu vlastní aplikace je věnováno doslova jen několik řádků (kapitola 4.3 na str. 16), velmi strohý je i již zmíněný popis sledovaných metrik na platformě Android, tak i popis testování a dosažených výsledků.
Technická zpráva je psána v anglickém jazyce a po jazykové i typografické stránce je na poměrně dobré úrovni. Drobné výhrady mám k sazbě některých obrázků (snímek obrazovky na str. 17 v nadživotní velikosti) a poměrně častým ukázkám zdrojových kódů, u kterých není vždy jasné, co mají vlastně dokumentovat.
Seznam použité literatury není příliš rozsáhlý a zahrnuje zejména online dokumentaci platformy Android a nástroje Prometheus. Volba zdrojů nicméně odpovídá zadání práce a zdroje jsou v textu řádně citovány.
Realizačním výstupem je implementovaná klientská aplikace pro OS Android exportující vybrané metriky z mobilního zařízení a serverová část sestávající z připravené konfigurace produktů třetích stran zajišťující sběr a vizualizaci údajů. Celé řešení je velmi pěkně navržené, a implementované a podrobně zdokumentované v přiložených souborech. Lze ocenit, že autor detailně řešil praktické aspekty monitorování mobilních zařízení, jako např. dočasně nedostupné nebo omezené síťové připojení. Řešení je dotažené do detailů a lze je bez dalších úprav snadno použít v praxi.
Vytvořený realizační výstup je k dispozici ve formě software s otevřeným kódem, je prakticky použitelný pro monitorování mobilních zařízení na platformě Android a má některé zajímavé vlastnosti, které srovnatelné nástroje postrádaji.
Grade proposed by reviewer: D
Responsibility: Mgr. et Mgr. Hana Odstrčilová