Help us learn about your current experience with the documentation. Take the survey.
指标报告
- Tier: Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
指标报告在合并请求中显示自定义指标,用于跟踪分支之间的性能、内存使用情况和其他测量结果。
使用指标报告可以:
- 监控内存使用情况的变化。
- 跟踪负载测试结果。
- 衡量代码复杂度。
- 比较代码覆盖率统计数据。
指标处理工作流
当流水线运行时,GitLab 会从报告产物中读取指标,并将其存储为字符串值以进行比较。默认文件名为 metrics.txt。
对于合并请求,GitLab 会将功能分支的指标与目标分支的值进行比较,并按以下顺序在合并请求组件中显示它们:
- 值发生变化的现有指标。
- 由合并请求添加的指标(标有 新增 徽章)。
- 由合并请求移除的指标(标有 已移除 徽章)。
- 值未发生变化的现有指标。
配置指标报告
将指标报告添加到您的 CI/CD 流水线中,以便在合并请求中跟踪自定义指标。
前提条件:
- 指标文件必须使用 OpenMetrics 文本格式。
要配置指标报告:
- 在您的
.gitlab-ci.yml文件中,添加一个生成指标报告的作业。 - 向该作业添加一个以 OpenMetrics 格式生成指标的脚本。
- 配置该作业,使用
artifacts:reports:metrics上传指标文件。
例如:
metrics:
stage: test
script:
- echo 'memory_usage_bytes 2621440' > metrics.txt
- echo 'response_time_seconds 0.234' >> metrics.txt
- echo 'test_coverage_percent 87.5' >> metrics.txt
- echo '# EOF' >> metrics.txt
artifacts:
reports:
metrics: metrics.txt流水线运行后,指标报告将显示在合并请求组件中。
有关更多格式规范和示例,请参阅 Prometheus 文本格式详情。
故障排除
在使用指标报告时,您可能会遇到以下问题。
指标报告未发生变化
在合并请求中查看指标报告时,您可能会看到 指标报告扫描未检测到新的更改。
出现此问题的原因可能是:
- 目标分支没有用于比较的基线指标报告。
- 您的 GitLab 订阅不包含指标报告(需要 Premium 或 Ultimate 版本)。
要解决此问题:
- 确认您的 GitLab 订阅版本包含指标报告功能。
- 确保目标分支有一个已配置指标报告的流水线。
- 验证您的指标文件使用了有效的 OpenMetrics 格式。