用途:在不修改源码的情况下,实时观察运行中 Python 进程里某个方法的调用参数、返回对象、异常和耗时,是理解函数运行时行为最常用的命令。
主要能力:按模块、可选类名、方法名定位目标,默认展示 args 与 kwargs;可用 --expr 选择展示内容(return_obj、target、args,kwargs,return_obj 或 return_obj['field'] 等);-f 过滤表达式可按 cost(毫秒)、参数或返回值筛选,如 -f cost>10;-e 仅记录抛异常的调用;-nm 观察深度限制为 1 的嵌套方法;-x 展开对象层级(1-4 或 -1 无限);-r 用 str 代替 JSON 序列化;-v 不截断列表/字典;-n 限制捕获次数并在达到后自动退出(默认 10)。输出含 ✓/✗、时间戳、完整方法名、cost、is_exp,以及 EXPR、TYPE、VALUE,异常时附 EXCEPTION 回溯。
用法:先阅读 flight-profiler-attach 技能确认平台、安装、权限与连接方式。命令为 flight_profiler <pid> --cmd "watch module [class] method [options]" --no-color。module 需为目标进程可导入的模块名;不确定时先运行 flight_profiler <pid> --cmd "module /absolute/path/to/file.py" --no-color 获取。类方法会自动去掉 self,用 target 访问实例。长输出可重定向到文件。
限制:expr 中不可用 cost,只能用于 -f;无输出通常因目标方法未被调用、模块名错误、过滤过严或已达 -n 上限。安装、权限及平台细节以 flight-profiler-attach 为准,此处暂未提供。