Podrobno

WebAssembly profilirnik za brskalnik
ID Kosec Mikić, Luka (Avtor), ID Poženel, Marko (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (1,50 MB)
MD5: 53FDB935D7103B51943B98F235D78C9D

Izvleček
WebAssembly je postal pomembna izvedbena platforma za spletne aplikacije, pri katerih je zmogljivost ključnega pomena. To diplomsko delo predstavlja zasnovo in implementacijo profilirnika za programe WebAssembly, ki tečejo v spletnih brskalnikih. Profilirnik je implementiran kot razširitev brskalnika Manifest V3, dopolnjuje pa ga orodje v vsebniku Docker, ki se uporablja za napredno simbolizacijo. Razviti sistem podpira dve tehniki profiliranja: statistično vzorčenje prek protokola Chrome DevTools in inštrumentacijo s pomočjo knjižnice Binaryen. Rezultati profiliranja so prikazani v obliki dreves klicev in plamenskih grafov. Profilirnik izvaja tudi proces simbolizacije, pri katerem se indeksi funkcij najprej preslikajo na imena, pridobljena iz imenskega odseka (angl. section) WebAssembly, medtem ko se razhroščevalne informacije DWARF uporabijo za obnovo izvornih imen funkcij in njihovih lokacij znotraj izvornih datotek in vrstic. Sistem je bil ocenjen z uporabo sintetičnega testnega programa, ki vsebuje rekurzivne klice, pogosto izvajane funkcije in kratkotrajne funkcije. Rezultati kažejo, da inštrumentacija beleži vse klice funkcij in zagotavlja natančno število klicev, vendar povzroča dodatno režijsko obremenitev, sorazmerno s številom inštrumentiranih klicev. Vzorčenje povzroča bistveno manjšo dodatno obremenitev in ustvari strukturo klicev, primerljivo s tisto, ki jo pridobimo s profilirnikom perf, vendar ne more zanesljivo zajeti kratkotrajnih ali redko pojavljajočih se dogodkov ter ne zagotavlja natančnega števila klicev. Razviti profilirnik omogoča vzorčenje, inštrumentacijo, simbolizacijo, vizualizacijo s plamenskim grafom ter uvoz in izvoz profilov za aplikacije WebAssembly, ki tečejo v brskalnikih na osnovi Chromiuma.

Jezik:Slovenski jezik
Ključne besede:WebAssembly, profiliranje, vzorčenje, inštrumentacija, plamenski graf, brskalniška razširitev, Chromium
Vrsta gradiva:Diplomsko delo/naloga
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2026
PID:20.500.12556/RUL-187357 Povezava se odpre v novem oknu
Datum objave v RUL:10.09.2026
Število ogledov:34
Število prenosov:7
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Browser WebAssembly Profiler
Izvleček:
WebAssembly has become an important execution platform for performance critical Web applications. This thesis presents the design and implementation of a profiler for WebAssembly programs running in web browsers. The profiler is implemented as a Manifest V3 browser extension and is complemented by a Docker component used for advanced symbolization. The developed system supports two profiling techniques: statistical sampling through the Chrome DevTools Protocol and instrumentation using the Binaryen library. Profiling results are represented as call trees and flame graphs. The profiler also implements a symbolization process, where function indices are first mapped to names obtained from the WebAssembly name section, while DWARF debugging information is used to recover source-level function names, source files, and line numbers. The system was evaluated using a synthetic benchmark containing recursive calls, frequently executed functions, and short-lived functions. The results show that instrumentation records all function invocations and provides exact call counts, but introduces overhead proportional to the number of instrumented calls. Sampling introduces substantially lower overhead and produces a call structure comparable to that obtained with the profiler perf, but cannot reliably capture short-lived or infrequently occurring events and does not provide exact invocation counts. The developed profiler implements sampling, instrumentation, symbolization, flame graph visualization and profile import and export for WebAssembly applications running in Chromium-based browsers.

Ključne besede:WebAssembly, profiling, sampling, instrumentation, flame graph, browser extension, Chromium

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj