swiff高级用法:自定义阈值、重置标记和diff模式全解析
swiff高级用法:自定义阈值、重置标记和diff模式全解析
【免费下载链接】swiffHuman readable time diffs on lines of output when running e.g. build commands like fastlane项目地址: https://gitcode.com/gh_mirrors/sw/swiff
swiff是一款实用的命令行工具,能够在运行构建命令(如fastlane)时,以人类可读的方式显示输出行的时间差异。它通过为不同时长的操作着色,帮助开发者快速识别构建过程中的耗时步骤,从而优化构建效率。
自定义阈值:打造个性化时间警示
swiff允许用户根据项目需求自定义时间阈值,以便更精准地识别不同耗时程度的操作。通过设置低、中、高三个级别的阈值,工具会自动为超过对应阈值的操作添加不同颜色,直观区分操作耗时。
阈值参数详解
在main.swift中定义了三个核心阈值参数:
- 低阈值(-l/--low):默认1秒,低于此值的操作用灰色显示
- 中阈值(-m/--medium):默认5秒,达到此值的操作用黄色显示
- 高阈值(-h/--high):默认10秒,达到此值的操作用橙色显示,超过则用红色显示
实用配置示例
根据项目特点调整阈值:
# 为小型项目设置更严格的阈值 fastlane build | swiff --low 0.5 --medium 2 --high 5 # 为大型项目放宽阈值 fastlane build | swiff -l 2 -m 8 -h 15重置标记:分段追踪构建流程
重置标记功能允许用户在构建过程中设置时间计数器重置点,将整个构建流程分割为多个阶段,便于分别分析各阶段的耗时情况。
重置标记的工作原理
当main.swift检测到包含重置标记的行时(如"Step: "),会自动创建新的时间追踪章节,开始记录新阶段的时间差异。这对于分析多步骤构建流程特别有用。
常用重置标记设置
# 使用自定义重置标记 fastlane build | swiff --reset-mark "Task:" # 匹配包含"Phase"的任意行作为重置点 fastlane build | swiff -r "Phase.*:"diff模式:适应不同构建场景
swiff提供两种diff模式,以适应不同的构建输出格式和使用场景,确保时间计算的准确性。
两种模式对比
- live模式(默认):使用系统当前时间计算操作耗时,适用于实时输出的构建过程
- fastlane模式:解析fastlane特有的时间戳格式,适用于fastlane构建输出
模式选择与切换
# 使用fastlane模式(自动设置重置标记为"Step: ") fastlane build | swiff -f # 显式指定diff模式 fastlane build | swiff --diff-mode fastlane高级组合用法
将自定义阈值、重置标记和diff模式结合使用,可以实现更精准的构建时间分析:
# 完整的自定义配置示例 fastlane build | swiff -f -l 1 -m 4 -h 8 -s 30此命令将:
- 使用fastlane模式分析构建输出
- 设置低阈值1秒、中阈值4秒、高阈值8秒
- 将摘要限制设置为30行
总结与最佳实践
swiff是优化构建流程的得力助手,通过灵活的配置选项,可以适应各种项目需求。建议:
- 根据项目规模调整阈值参数,小型项目可设较低阈值
- 利用重置标记将构建过程按逻辑步骤分段
- 对fastlane构建使用-f参数快速启用优化配置
- 通过summary-limit控制输出信息量,避免冗长
通过这些高级用法,开发者可以更深入地了解构建过程,识别性能瓶颈,从而显著提升构建效率。
【免费下载链接】swiffHuman readable time diffs on lines of output when running e.g. build commands like fastlane项目地址: https://gitcode.com/gh_mirrors/sw/swiff
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
