Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
15 of 20 tasks
GorilaMond opened this issue Sep 12, 2023 · 6 comments
Open
15 of 20 tasks

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

GorilaMond opened this issue Sep 12, 2023 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@GorilaMond
Copy link
Contributor

GorilaMond commented Sep 12, 2023

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

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

项目开发计划:

@GorilaMond GorilaMond added the enhancement New feature or request label Sep 12, 2023
@GorilaMond GorilaMond changed the title 基于eBPF的调用栈统计工具 Stack_Analyzer项目:基于eBPF的调用栈统计工具 Oct 20, 2023
@gaoyixiang1
Copy link
Contributor

#590
添加代码注释 并提交pr

@Monkey857
Copy link
Contributor

#590
添加代码注释

@gaoyixiang1
Copy link
Contributor

C++符号解析支持
#647

@gaoyixiang1
Copy link
Contributor

添加stack_count部分并完善相关文档
#669

@gaoyixiang1 gaoyixiang1 self-assigned this Mar 1, 2024
@gaoyixiang1
Copy link
Contributor

更新代码结构,删减不必要结构体
#709

@gaoyixiang1
Copy link
Contributor

添加动态挂载uprobe探针
#726

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants