diff --git a/src/content/preparation.tex b/src/content/preparation.tex index 3c954c5..00228f5 100644 --- a/src/content/preparation.tex +++ b/src/content/preparation.tex @@ -121,7 +121,7 @@ Miután a Knative Autoscaler naplóállománya analizálásának igénye felmer A Knative Autoscaler a naplóbejegyzéseket JSON objektumként menti, melyből a Python képes dictionary objektumot készíteni. Amennyiben az adott bejegyzés \textit{ts} mezője a mérés kezdési és befejezési ideje közé esik, akkor az \textit{msg} mezőben lévő üzenet feldolgozásra kerül. Az üzenetben kulcs-érték párok vannak szóközzel elválasztva egymástól. A kulcs és az érték között egyenlőségjel van. Ezt egy reguláris kifejezéssel listává lehet konvertálni. Sajnos a Python reguláris kifejezés API-jában nincs arra lehetőség, hogy ilyen esetben dictionary objektumot adjon vissza, így azt kézzel kell konvertálni kihasználva azt, hogy az értékek mindig egy kulcs után következnek. Ezután a podok száma, valamint a megfigyelt stabil konkurencia érték letárolható. Ennek folyamat\'at \aref{sec:log-analyze} f\"uggel\'ekben l\'atni. -A feldolgozott adatokból a \textit{matplotlib} Python könyvtár segítségével készíthető grafikon úgy, hogy az adatokat tartalmazó listát átadjuk a megfelelő függvény számára. A grafikon mentése egy másik függvényhívással lehetséges, szintén külön függvényhívással lehet a grafikon címét \'es a tengelyek feliratát elhelyezni. +A feldolgozott adatokból a \textit{matplotlib} Python könyvtár segítségével készíthető grafikon úgy, hogy az adatokat tartalmazó listát átadjuk a megfelelő függvény számára. A grafikon mentése egy másik függvényhívással lehetséges, szint\'ugy külön függvényhívással lehet a grafikon címét \'es a tengelyek feliratát elhelyezni. A méréseket elvégző szkript kis módosításával elértem, hogy a mérési eredmények egy általam üzemeltett számítógépre töltődjenek fel archiválásra és az itt részletezett program által feldolgozásra. A feltöltés után a szkript meghívott egy ugyanezen a szerveren futó REST-es végpontot, amely hatására elindult az adatok feldolgozása. Maga a program egy Docker konténerben futott. A kód verziókövetésére Git-et használtam, amelynek előnye az volt, hogy minden alkalommal, mikor egy állapotát mentettem a kódnak, abból a Travis szolgáltatás automatikusan elkészítette a Docker Image-et, valamint feltöltötte a Docker Hub-ra. Így a fejlesztéstől a mérésig teljesen automatizált munkafolyamatot dolgoztam ki. Felmerült ötletként, hogy ezt a Knative rendszerbe telepítsem, viszont szerettem volna, ha a méréseket feldolgozó folyamat független a mért rendszertől és a lehető leglazábban kapcsolódjon hozzá. Ezáltal a két rendszerben történő folyamatok, esetleges hibák nem hatnak ki a másik működésére.