首页
/ 在Act工具中获取工作流各步骤执行时间的实践指南

在Act工具中获取工作流各步骤执行时间的实践指南

2025-04-29 05:14:30作者:苗圣禹Peter

Act作为一款优秀的GitHub Actions本地运行工具,为开发者提供了便捷的本地调试环境。在实际使用过程中,性能分析和优化是一个重要环节,而精确获取各步骤的执行时间则是性能调优的基础。本文将详细介绍如何在Act中实现执行时间的精确测量。

执行时间测量的重要性

在持续集成/持续部署(CI/CD)流程中,了解每个步骤的执行耗时对于优化构建流程至关重要。通过时间数据可以:

  1. 识别性能瓶颈步骤
  2. 评估优化措施的效果
  3. 合理分配计算资源
  4. 预估整体构建时间

Act中的时间测量方案

内置JSON日志分析

Act工具在运行过程中会生成详细的JSON格式日志,其中包含了每个步骤的精确时间戳信息。这些数据包括:

  • 步骤开始时间(start)
  • 步骤结束时间(stop)
  • 步骤执行时长

通过解析这些日志数据,开发者可以获取与GitHub Actions网页界面相似的时间统计信息。

Bash时间命令集成

对于需要实时查看执行时间的场景,可以采用Linux系统的time命令集成方案。具体实现方式是在工作流定义中修改默认的shell配置:

defaults:
  run:
    shell: bash -e -c "/usr/bin/time -f \"\nStep total time:\t%E\" bash -ex {0}"

这个配置实现了以下功能:

  1. 使用系统级的time命令进行精确计时
  2. 保持原有的bash执行环境
  3. 在步骤完成后自动输出执行时间
  4. 通过%E参数格式化输出易读的时间信息

实践建议

  1. 对于长期统计分析,建议使用JSON日志方案,便于建立历史数据趋势
  2. 在调试阶段可以使用实时输出方案,快速定位问题
  3. 注意不同操作系统上time命令的差异,macOS与Linux的实现略有不同
  4. 考虑将时间数据与监控系统集成,实现自动化告警

通过合理运用这些时间测量技术,开发者可以显著提升在Act环境下工作流的优化效率,为持续集成流程的性能调优提供数据支撑。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
867
513
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
265
305
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
598
57
GitNextGitNext
基于可以运行在OpenHarmony的git,提供git客户端操作能力
ArkTS
10
3