Original title:
Analýza výkonu programů v jazyce Go
Translated title:
Performance Analysis of Go Programs
Authors:
Nešpor, Andrej ; Malík, Viktor (referee) ; Pavela, Jiří (advisor) Document type: Bachelor's theses
Year:
2024
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Cílem této práce je rozšířit výkonnostní verzovací systém Perun implementací modulu pro profilování programů napsaných v jazyce Go. Tento modul implementuje profilovací nástroj technikou instrumentace volání a návratů funkcí pomocí technologie eBPF. Nástroj dokáže sbírat reálný čas běhu funkcí a jejich trasy volání. Zároveň byl implementován nový způsob vizualizace naměřených dat pomocí tzv. Sankey grafu, což usnadní jejich interpretaci. S vytvořeným profilovacím nástrojem pak provádíme pár experimentů, abychom ověřili jeho funkčnost a demonstrovali jeho použití.
The goal of this thesis is to extend the performance versioning system Perun by implementing a module for profiling programs written in the Go language. This module implemets the profiler by instrumenting function calls and returns using eBPF technology. The tool can collect function run times and their traces. We can then interpret the outputted profiles as a Sankey diagram. Additionally we implemented a new way of visualizing the measured data using the so-called Sankey graph, which will help with their interpretation. Using the developed profiler we conduct a few experiments to verify its functionality and demonstrate its use.
Keywords:
dynamic analysis; eBPF; Go; performance testing; Perun; profiling; Sankey; visualization; dynamická analýza; eBPF; Go; Perun; profilování; Sankey; vizualizace; výkonnostní testování
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: https://hdl.handle.net/11012/246963