profiler 命令行参数
本文列出 profiler 的参数、默认值和适用范围。构建条件与采集示例见命令行采集,格式选择见输出格式。
--output-path 和 --output-format 都必须显式传入。--output-format 的声明默认值为 collapsed,但不能依靠该默认值省略参数。
通用参数
| 参数 | 默认值 | 适用范围 | 说明 |
|---|---|---|---|
--type, -t |
无 | 全部 | 观测类型:cpu 或 memory,必填 |
--language, -l |
无 | 全部 | 目标语言:c、c++、go、java 或 python,必填 |
--pid, -p |
无 | 全部 | 目标 PID;Java、Python 可使用逗号分隔多个 PID,原生采集最多一个 PID |
--container-id |
无 | 全部 | 目标容器 ID;原生 CPU 采集可与 --pid(宿主机 PID)组合,两个过滤条件同时生效;其他采集类型与 --pid 互斥 |
--duration, -d |
10 |
全部 | 总采集时长,单位为秒,最小为 1 |
--aggr-interval |
10 |
全部 | 聚合周期,单位为秒,不得大于采集时长 |
--freq, -F |
99 |
CPU | 每秒采样次数;Java 最大为 1000 |
--output-path |
必填 | 全部 | 本地文件、目录或 stdout,remote-store 时为 Unix socket;新目录路径以 / 结尾 |
--output-format |
collapsed |
全部 | collapsed、flamegraph、svg、json 或 remote-store;必须与 --output-path 一起显式指定 |
--max-concurrent-procs |
0 |
Java、Python | 并发采集子进程上限;0 表示不限制 |
--tool-path |
无 | Java、Python | 外部采集工具统一根目录,必填 |
--binary-match-path |
无 | Java、Python | 按可执行文件路径匹配容器内目标进程 |
--huatuo-api-address |
127.0.0.1:19704 |
容器目标 | 用于解析容器元数据的 HUATUO API 地址 |
--task-id |
空;本地输出时内部生成 | 全部;remote-store 必填 |
toolstream 和远端存储共用的稳定采集任务 ID |
--enable-pprof |
false |
工具自身 | 在 127.0.0.1:6000 暴露工具自身的 Go runtime profile |
--version-format |
text |
版本查询 | --version 的输出格式:text、json 或 short |
--help, -h |
- | 全部 | 显示命令帮助 |
--version, -v |
- | 全部 | 显示版本与构建信息 |
这些 pprof 接口描述 profiler 进程自身的 Go runtime,不是 --pid 指定的目标或 Java/Python 采集子进程。监听范围由所有网卡收紧为 loopback;端口被占用时启动失败。
采集参数
| 参数 | 默认值 | 适用范围 | 说明 |
|---|---|---|---|
--memory-mode |
无 | 原生内存、Java 内存 | 内存观测维度;使用 --type memory 时必填 |
--cpuid |
全部 CPU | 原生 CPU | CPU 列表或范围;off-CPU 样本按任务切出时所在 CPU 过滤 |
--cpu-mode |
oncpu |
原生 CPU | oncpu 按频率采样,offcpu 归因阻塞与可运行调度延迟 |
--require-hardware-pmu |
false |
原生 on-CPU | 强制使用硬件 PMU 采样;不可用时失败,不回退软件 CPU clock |
--offcpu-phase |
all |
原生 off-CPU | 累计 all、blocked 或 runqueue 时间 |
--offcpu-min-duration-us |
1000 |
原生 off-CPU | 丢弃持续时间小于该微秒数的阶段 |
--offcpu-stats |
false |
原生 off-CPU | 收集 BPF 诊断统计;错误和清理路径会产生额外开销 |
--thread-group |
false |
原生 | 同时采集目标 PID 所在线程组中的其他线程 |
--physical-memory-probability |
100 |
原生物理内存 | 物理内存事件采样概率,范围为 1~100 |
--log-bpf-debug |
false |
原生 | 输出 BPF 调试事件,常规采集不建议启用 |
硬件 PMU 事件或采样不受支持时,命令退出码为 1,标准错误以 Error: hardware_pmu_unavailable: 标识该错误;权限及其他启动错误不使用此标识。
日志参数
| 参数 | 默认值 | 说明 |
|---|---|---|
--log-level |
error |
trace、debug、info、warn 或 error |
--log-file |
stdout |
日志文件路径,或 stdout |
--log-size |
100 |
日志轮转大小,单位 MB;0 表示不轮转,仅用于文件输出 |
--verbose |
false |
等价于 --log-level debug --log-file stdout,并覆盖显式日志设置 |