调用栈可视化和不同库函数调用占比说明

调用栈可视化可以将开发者编译的so符号化结果展示出来,不同库函数的占比通过饼图的方式展示出来。

Native Memory文件的不同库函数占比

Native Memory分为三级统计,分别按照内存分配的类型(Alloc/Mmap),lib库,函数进行统计分析。其中lib跟函数为每一条调用栈,从栈顶往下查找,非musl库与c++库的第一条函数及其lib为每次分配归属的函数及lib库。
点击Analysis的Tab页,先以内存分配的类型去统计。
GitHub Logo

以线程去统计
GitHub Logo

以lib库去统计,如图显示的是AllocEvent的so占比的饼图和Table表。
GitHub Logo

以函数去统计,如图显示的是AllocEvent/libmali-bifrost-g52-g2p0-ohos.so的函数占比的饼图和Table表。
GitHub Logo

Hiperf文件的不同库函数占比

Hiperf分为四级统计,分别按照进程,线程,lib库,函数进行统计。其中lib跟函数为每一条调用栈的栈顶函数及其lib。
点击Analysis的Tab页,先以进程去统计。
GitHub Logo

以线程统计,如图显示的是hiperf进程下的线程的饼图和Table表。
GitHub Logo

以lib库统计,如图显示的是hiperf线程下的各so占比饼图和Table表。
GitHub Logo

以函数统计,如图显示的是ld-musl-aarch64.so.1下的各函数占比饼图和Table表。
GitHub Logo

FileSystem文件的不同库函数占比

FileSystem分为五级统计,分别按照进程,系统调用类型,线程,lib库,函数进行统计。其中lib跟函数为每一条调用栈,从栈顶往下查找,非musl库与c++库的第一条函数及其lib为每次分配归属的函数及lib库。
点击Analysis的Tab页,先以进程去统计。
GitHub Logo

以系统调用类型统计,如图显示的是grep进程下的Read和Write系统调用的时长占比饼图和Table表。
GitHub Logo

以线程统计,如图显示的是系统调用是Read类型的线程的占比饼图和Table表。
GitHub Logo

以lib库统计,如图显示toybox的lib库的占比饼图和Table表。
GitHub Logo

以函数统计,如图显示0x558111afbc (toybox)的函数占比饼图和Table表。
GitHub Logo

Bio文件的不同库函数占比

Bio分为五级统计,分别按照进程,系统调用类型,线程,lib库,函数进行统计。其中lib跟函数为每一条调用栈,从栈顶往下查找,非submit_bio第一条函数及其lib为每次分配归属的函数及lib库。
点击Analysis的Tab页,先以进程去统计。
GitHub Logo

以系统调用类型统计,如图显示的是jbd2/mmcblk0p11进程下的DATA_WRITE系统调用的时长占比饼图和Table表。
GitHub Logo

以线程统计,如图显示的是系统调用是DATA_WRITE类型的线程的占比饼图和Table表。
GitHub Logo

以lib库统计,如图显示kallsyms的lib库的占比饼图和Table表。
GitHub Logo

以函数统计,如图显示submit_bh的函数占比饼图和Table表。
GitHub Logo

Page Fault文件的不同库函数占比

Page Fault分为五级统计,分别按照进程,系统调用类型,线程,lib库,函数进行统计。其中lib跟函数为每一条调用栈,从栈顶往下查找,非musl库与c++库的第一条函数及其lib为每次分配归属的函数及lib库。
点击Analysis的Tab页,先以进程去统计。
GitHub Logo

以系统调用类型统计,如图显示的是1.ui进程下的File Backed In和Copy On Writer系统调用的时长占比饼图和Table表。
GitHub Logo

以线程统计,如图显示的是系统调用是File Backed In类型的线程的占比饼图和Table表。
GitHub Logo

以lib库统计,如图显示各lib库的占比饼图和Table表。
GitHub Logo

以函数统计,如图显示各函数占比饼图和Table表。
GitHub Logo