Bachelor's Thesis

Mobile Application for Exporting Android Device Metrics into a Prometheus Database

Final Thesis 949.41 kB

Author of thesis: Bc. Martin Ptáček

Acad. year: 2022/2023

Supervisor: RNDr. Marek Rychlý, Ph.D.

Reviewer: doc. Ing. Radek Burget, Ph.D.

Abstract:

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.

Keywords:

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)

znamkaCznamka

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

  1. Mohl byste doplnit informace o provedeném testování? Jaké testy jste prováděl manuálně a jsou k dispozici i nějaké automatizované (např. jednotkové) testy?

Language of thesis

English

Faculty

Department

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 report
RNDr. 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).

Evaluation criteria Verbal classification
Informace k zadání

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é.

Práce s literaturou

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í.

Aktivita během řešení, konzultace, komunikace

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.

Aktivita při dokončování

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í.

Publikační činnost, ocenění

Bez publikací či ocenění. Výsledné programové řešení zveřejněno jako opensource.

Points proposed by supervisor: 65

Grade proposed by supervisor: D

Reviewer’s report
doc. 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 criteria Verbal classification Points
Náročnost zadání

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.

Rozsah splnění požadavků zadání

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.

Rozsah technické zprávy

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.

Prezentační úroveň technické zprávy

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ů. 

58
Formální úprava technické zprávy

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.

74
Práce s literaturou

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.

65
Realizační výstup

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.

82
Využitelnost výsledků

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.

Topics for thesis defence:
  1. Mohl byste doplnit informace o provedeném testování? Jaké testy jste prováděl manuálně a jsou k dispozici i nějaké automatizované (např. jednotkové) testy?
Points proposed by reviewer: 60

Grade proposed by reviewer: D

Responsibility: Mgr. et Mgr. Hana Odstrčilová