项目简介
本项目是一个基于libperf
和libtraceevent
库实现的监控框架,相较于传统perf
工具,它能提供更灵活的监控功能。该框架支持数据实时处理与输出,无需将数据存盘,还能通过tracepoint进行数据过滤,以减少不必要的数据量。不过,它不能完全替代perf
,因为perf
在符号处理、支持的event类型以及硬件PMU特性方面有更广泛的支持。
项目的主要特性和功能
- 数据不落盘:监控数据实时处理并输出,无需存盘后再处理。
- 数据过滤:采用基于tracepoint的过滤机制,减少数据量,提升监控效率。
- 实时处理:数据采集后立即处理和输出,保证监控信息的实时性。
- 模块化设计:框架采用模块化设计,支持split - lock、irq - off、profile等多种监控模块。
- 栈处理:支持栈及符号打印、key - value栈、火焰图生成等多种栈处理方式。
- 用户态符号表:可解析用户态符号表,用于分析用户栈。
- 内存泄露检测:利用tcmalloc库进行内存泄露检测。
安装使用步骤
假设用户已经下载了本项目的源码文件,操作步骤如下:
1. 进入项目目录:
bash
cd perf - monitor
2. 编译项目:
bash
make
3. 运行监控工具:
bash
./perf - monitor --help
4. 选择监控模块:
根据需求选择不同的监控模块,例如:
bash
./perf - monitor profile -F 100 -C 0 -g --exclude - user --than 30
5. 查看输出:
监控数据会实时输出到终端,也可通过指定--flame - graph
参数生成火焰图。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】