Monitoring Tool for Distributed Java Applications
Monitorovací nástroj pro distribuované aplikace v jazyce Java
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/85758Identifikátory
SIS: 175729
Kolekce
- Kvalifikační práce [10923]
Autor
Vedoucí práce
Oponent práce
Hnětynka, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
12. 6. 2017
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
monitorování, cluster, instrumentace, distribuované systémy, výkonostKlíčová slova (anglicky)
monitoring, cluster, instrumentation, distributed systems, performanceHlavní cíl této diplomové práce je vytvoření monitorovací platformy a kni- hovny pro monitorování distribuovaných aplikací založených na platformě Java. Tato práce je inspirována projektem Google Dapper a sdílí s ním koncept nazývaný "Span". Spany ohraničují lokální část výpočtu a jsou používané pro výměnu stavu mezi členy distribuovaného systému. Aby bylo možné spany zaznamenat bez nutnosti překompilování originalní aplikace, techniky instrumentace jsou hojně používané v této diplomové práci. Monitorovací nástroj nazývaný Distrace se skládá ze dvou částí: nativního agenta a instrumentačního serveru. Od uživatele Distrace se očekává rošíření instrumentačního serveru specifikací bodů v originální aplikaci, kde mají být nové spany vytvořeny a uzavřeny. Pro zajištění vysokého výkonu a také ovlivňování monitorované aplikace co nejméně se používá instru- mentační server, který provádí instrumentaci zdrojového kódu. Distrace nástroj by měl ovlivňovat monitorovanou aplikaci co nejméně, měl by být lehce nasa- ditelný a také transparentní pro cílové aplikace z pohledu koncového uživatele. 1
The main goal of this thesis is to create a monitoring platform and library that can be used to monitor distributed Java-based applications. This work is inspired by Google Dapper and shares a concept called "Span" with the aforementioned project. Spans represent a small specific part of the computation and are used to capture state among multiple communicating nodes. In order to be able to col- lect spans without recompiling the original application's code, instrumentation techniques are highly used in the thesis. The monitoring tool, which is called Distrace, consists of two parts: the native agent and the instrumentation server. Users of the Distrace tool are supposed to extend the instrumentation server and specify the points in their application's code where new spans should be created and closed. In order to achieve high performance and affect the running appli- cation at least as possible, the instrumentation server is used for instrumenting the code. The Distrace tool is aimed to have a small foot-print on the monitored applications, should be easy to deploy and is transparent to target applications from the point of view of the final user. 1