ftrace、perf、bcc、bpftrace、ply、simple_perf如何灵活运用?

摘要:目录参考Ftrace经典用法function_graphtrace_event时间延迟标志histtrace_optionperf-toolstrace-cmd参考事件列举函数图示跟踪函数跟踪事件跟踪远程kernelsharkkprobeu
目录参考Ftrace经典用法function_graphtrace_event时间延迟标志histtrace_optionperf-toolstrace-cmd参考事件列举函数图示跟踪函数跟踪事件跟踪远程kernelsharkkprobeuprobeeBPFbpftraceplyBCCsimpleperfperf参考perf_event_open学习火焰图perf statperf kvmperf traceperf ftraceperf probe的使用perf sched使用getdelayssurftraceSystemtapstapbpfDtraceuftraceutraceSystrace/PerfettoLTTngTrace CompassB站某UP主写的profile工具,可以学习一下 参考 https://www.brendangregg.com Linux Performance https://github.com/iovisor/bcc/blob/master/docs/tutorial.md https://github.com/iovisor/bpftrace/blob/master/docs/reference_guide.md 采用了eBPF技术的项目 Linux Performance框图 影响程序性能的几个关键因素 https://blog.csdn.net/rikeyone/category_10317059.html linux内核调试追踪技术20讲 Dive into BPF: a list of reading material perf性能分析工具使用分享 深入字节版atop: 线上系统的性能监控实践 Linux tracing/profiling 基础:符号表、调用栈、perf/bpftrace 示例等(2022) Linux tracing systems & how they fit together https://jvns.ca/#linux-debugging---tracing-tools trace专栏 boot time tracing 和 bootconfig Ftrace 参考 https://www.kernel.org/doc/html/latest/trace/ftrace.html#ftrace-function-tracer https://www.kernel.org/doc/html/latest/trace/ftrace.html Linux内核 eBPF基础:ftrace源码分析:过滤函数和开启追踪 Linux内核 eBPF基础:ftrace基础-ftrace_init初始化 Linux启动时追踪 Debugging the kernel using Ftrace - part 1 Debugging the kernel using Ftrace - part 2 Secrets of the Ftrace function tracer openEuler kernel技术分享-第13期-ftrace框架及指令修改机制 ftrace源码实现 —— 跟踪器的实现 经典用法 function_graph 获取某个进程调用sys_open的调用栈 运行要trace的程序,然后在调用open之前挺住,接着执行下面的命令,最后接着执行程序 echo function_graph > /sys/kernel/debug/tracing/current_tracer echo *sys_open > /sys/kernel/debug/tracing/set_graph_function #echo 1 > /sys/kernel/debug/tracing/options/funcgraph-tail echo <pid> > /sys/kernel/debug/tracing/set_ftrace_pid echo 0 > /sys/kernel/debug/tracing/tracing_on echo > /sys/kernel/debug/tracing/trace echo 3 > /proc/sys/vm/drop_caches echo 1 > /sys/kernel/debug/tracing/tracing_on 然后执行下面的命令导出trace: echo 0 > /sys/kernel/debug/tracing/tracing_on cat /sys/kernel/debug/tracing/trace > trace.l
阅读全文