Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-3441
Autor(en): Flaig, Albert
Titel: Dynamic instrumentation in Kieker using runtime bytecode modification
Erscheinungsdatum: 2014
Dokumentart: Abschlussarbeit (Bachelor)
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-97481
http://elib.uni-stuttgart.de/handle/11682/3458
http://dx.doi.org/10.18419/opus-3441
Zusammenfassung: Software systems need constant quality assurance - this holds true in the development phase as well as the production phase. An aspect of quality is the performance of specific software modules. Kieker provides a framework to measure and diagnose runtime information of instrumented software methods. In its current state, Kieker only allows inserting probes before application start. This thesis proposes an alternative concept to extend the functionality of Kieker regarding instrumentation. The alternative approach allows inserting probes during runtime. This is done using a technology known under the term Bytecode Instrumentation (BCI) which enables to change the binary code of classes during execution. Thus the software is "reprogrammed" during runtime to provide the measurement logic. The approach is carried over of another monitoring framework called AIM (Adaptable Instrumentation and Monitoring), which already features an established implementation of this technology. Hence, this thesis aims to connect the benefits of both frameworks. This alternative concept is compared against Kieker's traditional way of performance measurement by the means of an experimental evaluation. The evaluation aims to investigate the impact on, (1) the overhead, (2) the turnaround time and (3) the reliability in terms of lost transactions. The results show a reduction of overhead, unfortunately at the cost of turnaround time. The reliability also drops due to an increase of lost transactions.
Software-Systeme benötigen eine ständige Qualitätskontrolle - sowohl in der Entwicklungsphase als auch in der Produktionsphase. Ein Aspekt das die Qualität von Software ausmacht, ist die Performanz bestimmter Software-Module. Kieker bietet an dieser Stelle ein Framework an, um Laufzeitdaten von instrumentierten Methoden messen und auswerten zu können. Im aktuellen Stand können Messsonden (Monitoring Probes) in Kieker lediglich vor Programmstart eingesetzt werden. Diese Thesis zeigt ein neues Konzept das die Funktionalität von Kieker in Bezug auf die Instrumentierung erweitert. Dieser alternative Ansatz erlaubt es Messsonden während der Laufzeit einzusetzen. Dies wird mit einer Technologie umgesetzt die bekannt ist unter dem Begriff Bytecode Instrumentation (BCI). Sie ermöglicht den Binärcode von Klassen während der Ausführung zu verändern. Somit wird die Software mit der Logik der Laufzeit-Messung versehen, indem sie zur Laufzeit „neu programmiert“ wird. Der Ansatz wurde aus AIM (Adaptable Instrumentation and Monitoring), einem weiteren Monitoring Framework, übernommen. Dieses weißt eine bereits bestehende Implementierung dieser Technologie auf. Daher zielt diese Thesis darauf ab die Vorteile beider Frameworks zu verbinden. Der Overhead von diesem alternativen Konzept wird verglichen mit der herkömmlichen Art die Kieker nutzt um Performanz zu messen. Der Vergleich wird mithilfe einer experimentellen Evaluation durchgeführt. Die Evaluation untersucht die Auswirkungen auf (1) den Overhead, (2) die Turnaround-Zeit und (3) die Zuverlässigkeit in Hinsicht auf Lost Transactions. Die Ergebnisse zeigen eine Verringerung des Overheads, leider auf Kosten der Turnaround-Zeit. Die Zuverlässigkeit sinkt ebenfalls aufgrund einer erhöhten Anzahl an verloren gegangenen Transaktionen.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
BCLR_0140.pdf873,06 kBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.