Refine
Year of publication
- 2023 (1)
Document Type
- Bachelor Thesis (1)
Language
- German (1)
Has Fulltext
- yes (1)
Is part of the Bibliography
- no (1)
Keywords
- Performance Monitoring (1) (remove)
Open Access
- Closed (1)
Mit zunehmender Komplexität von Softwaresystemen wird es immer schwieriger Performance Auswirkungen durch Änderungen an der Software zu erkennen. Meist werden Performance-Probleme zu spät erkannt und die Ursachensuche stellt dann eine große Hearusforderung dar, da es viele Einflussfaktoren gibt und oft nicht bekannt ist, wie lange das Problem schon besteht. Hier setzt das kontinuierliche Performance Monitoring an, denn damit wird die Performance fortlaufend zu jeder Softwareversion gemessen und der Verlauf der Performance über die Zeit erfasst.
In dieser Arbeit wird ein Konzept zu diesem Monitoring entwickelt. Konkret wird dabei die Performance eines 2D Laserscanners untersucht, der mit der Zynq Ultrascale+ MPSoc Plattform realisiert wurde. Eine wichtige Komponente des Systems stellt das verwendetete Embedded Realtime Linux dar. Deshalb wird dessen Performance, anhand definierter Parameter aus der Literatur, gemessen. Dafür werden vorhandene Tools zum Auslesen dieser Parameter untersucht und schließlich eingesetzt, um diese auf dem System zu erfassen. Eine weitere wichtige Performancekenngröße stellen die Durchlaufzeiten von Daten durch das System dar. Diese Laufzeiten werden an bestimmten Punkten im C++ Programmcode gemessen und anschließend mit einer Python Anwendung ausgewertet.
Für jede neue Softwareversion wird automatisch eine Messung der Linux Performance, sowie der Durchlaufzeiten durchgeführt. Die dabei gewonnenen Daten werden mit einem Datei basierten Ansatz in Artifactory abgelegt, aus welchen schlussendlich Auswertungen, in Form von HTML Dateien, erstellt werden. Diese enthalten verschiedene Visualisierungen der Messergebnisse einer Messung, sowie den Verlauf der Durchschnittswerte je Softwareversion. Das Ausführen der Messungen auf dem Gerät, sowie die Auswertung der Messergebnisse führt ein dafür entwickeltes Python Programm aus.