Skip to content

Stack_Analyzer项目:基于eBPF的调用栈统计工具 #518

@GorilaMond

Description

@GorilaMond

本项目旨在开发一个Linux进程到各子系统的调用栈画像工具,通过该工具可以明确展示出:

  • 一个进程使用系统资源的完整的函数调用路径
  • 进程/线程阻塞的时长、阻塞原因(内存分配、主动睡眠、锁竞争等)及调用路径,从而解决出进程执行慢、甚至卡死的问题
  • 进程/线程使用cpu的计数,从而分析出进程的用时最长的调用栈即性能瓶颈
  • 进程/线程内存占用的大小及分配路径、更进一步可以检测出释放无效指针的问题,从而优化进程的内存分配方式
  • 进程/线程输入/输出的数据量或者次数,及相应路径,从而优化进程输入/输出方式
  • 进程/线程预读取页面使用量及对应调用栈,从而了解进程读数据的行为特征,进而使用madvise进行优化
  • 统计指定调用栈的调用次数,使工具更加灵活
  • 加入更多的可视化元素和交互方式,使得画像更加直观、易于理解

项目开发计划:

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions