Vzorkovací profiler
Aplikace umožňuje spustit program (popř. připojit se k již běžícímu programu), u kterého poté v pravidelných intervalech zaznamenává jeho stack trace. Po dokončení profilování lze naměřená data v programu vizualizovat.
Funkce
- vzorkovací profilování programů na Linuxu a Windowsu
- volitelná doba frekvence vzorkování (1 - 100 ms)
- několik grafických výstupů (call graph, flamechart, top-down view)
- symbolizace stack traců (zobrazení reálných názvů metod)
Motivace
Chtěl jsem mít jednoduchý open-source nástroj, ve kterém můžu rychle otevřít libovolný program s debug symboly a zobrazit si, kde se v něm tráví nejvíce času (pro účely optimalizace kódu). Nejlepším řešením na toto je asi VTune, ten je ale Intel-specific, je to moloch a není dostupný zdarma. perf je zase Linux-specific a neobsahuje vestavěné GUI, které by se mi zamlouvalo. Pokud znáte jiné open-source řešení, které by se na toto dalo použít, dejte prosím vědět do komentářů.
TODO
- otestovat funkci na Windowsu
- použít na Linuxu jiné API než ptrace
- přepsat backend do Rustu
Pozn.: V současné době není aplikace na Windows vůbec otestována, obsahuje pouze prototyp profilování. Na Linuxu by měla pro základní use casy fungovat, pokud ne, tak prosím na Githubu vytvořte issue.
Program byl vytvořen v roce 2017.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 15x (65.15 kB)
Aplikace je včetně zdrojových kódů v jazyce C++