whytime 终端耗时剖析器
把脚本或命令的挂钟时间拆成可读的耗时来源报告
- 痛点
- 开发者拿到一个慢脚本,跑 time 只看到总耗时 3.8 秒,却不知道这 3.8 秒里有多少卡在 DNS、网络请求、fsync、子进程还是纯 CPU。要定位就得手动上 strace/perf,门槛高、输出杂乱,而且换一台机器结果又不一样。
- 方案
- 一个命令行小工具,包裹住目标命令,采集进程、文件系统、网络与定时器事件,把挂钟时间按类别拆分成百分比并逐行解释,比如「47% 阻塞在某个域名连接」「34% 花在某目录 fsync」。输出天然对齐 100%,可直接贴进 issue 或 CI 日志。
- 用户
- 需要排查构建、部署、CI 流水线慢点的后端与 DevOps 工程师,以及写脚本的独立开发者
- MVP
- 支持 Linux/macOS 下包裹任意命令;按 CPU、网络、fsync、sleep、其他五类归因;输出百分比自动补足到 100%;提供 JSON 输出便于 CI 集成;常见慢因给出修复建议文案
- 变现
- 开源核心 + 付费的团队版(CI 集成、历史趋势对比、Slack 报告推送)或一次性买断的桌面/CLI 授权
- 为何现在
- 容器化和多阶段构建让「时间花在哪」更难看清,而 LLM 生成的脚本越来越多,人工阅读成本高;底层 tracing 能力已足够成熟,一个人几周就能封装出体验良好的 CLI