价值流仪表板
- Tier: Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
为了帮助我们改进价值流仪表板,请在 此调查问卷 中分享您的使用体验反馈。 有关更多信息,请参阅 价值流管理类别方向页面。
价值流仪表板是一个可自定义的仪表板,您可以使用它来识别趋势、模式和数字化转型的改进机会。 价值流仪表板中的集中式 UI 作为单一事实来源(SSOT),所有利益相关者都可以访问和查看与组织相关的相同指标集。 价值流仪表板包含可视化以下指标的面板:
使用价值流仪表板,您可以:
- 随时间跟踪和比较前面列出的指标。
- 及早发现下降趋势。
- 了解安全暴露情况。
- 深入到单个项目或指标中,采取改进措施。
- 了解将 AI 添加到软件开发生命周期(SDLC)的影响,并展示 GitLab Duo 投资的投资回报率(ROI)。
有关点击演示,请参阅 价值流管理产品导览。
要将价值流仪表板作为组的分析仪表板查看:
- 在左侧边栏,选择 搜索或跳转 并找到您的组。
- 选择 分析 > 分析仪表板。
- 从可用仪表板列表中,选择 价值流仪表板。
价值流仪表板上显示的数据在后端持续收集。 如果您升级到 Ultimate 版本,您将可以访问历史数据,并查看过去 GitLab 使用情况和性能的指标。
面板
价值流仪表板面板具有默认配置,但您也可以 自定义仪表板面板。
概览
概览面板通过可视化关键 DevOps 指标,提供顶级命名空间活动的整体视图。 该面板显示以下指标的指标:
- 子组
- 项目
- 用户
- 问题
- 合并请求
- 流水线
概览面板中显示的数据通过批处理收集。GitLab 在数据库中存储每个子组的记录计数,然后聚合这些记录计数以提供顶级组的指标。 数据每月聚合一次,大约在月底,根据 GitLab 系统的负载尽力而为。
有关更多信息,请参阅 史诗 10417。
要在概览面板上查看指标,必须启用 后台聚合。
DevSecOps 指标比较
DevSecOps 指标比较面板显示组或项目在本月、上月、上上月以及过去 180 天的指标。 这些可视化帮助您了解关键 DevOps 指标是否逐月改善。价值流仪表板显示三个 DevSecOps 指标比较面板:
- 生命周期指标
- DORA 指标(仅限 Ultimate)
- 安全指标(仅限 Ultimate)
在每个比较面板中,您可以:
- 一目了然地比较组、项目和团队之间的性能。
- 识别最大价值贡献者、表现优异或表现不佳的团队和项目。
- 深入分析指标。
当您将鼠标悬停在指标上时,工具提示会显示指标的解释和相关文档页面的链接。
月度值还表示与上个月相比的百分比增加或减少。
过去六个月的迷你折线图代表此时间段内的价值趋势,而不是变化率。 迷你折线图颜色从蓝色渐变到绿色,其中绿色表示积极趋势,蓝色表示消极趋势。 迷你折线图帮助您识别指标趋势随时间变化的模式(如季节性变化)。
按标签过滤面板
标签过滤器作为查询参数附加到每个符合条件的指标的钻取报告 URL,并自动应用。
如果配置文件中的比较面板启用了 filters.labels,则钻取链接将继承面板过滤器的标签。
panels:
- title: '组 dora 指标'
visualization: vsd_dora_metrics_table
queryOverrides:
namespace: my-dora-group
filters:
labels:
- in_development
- in_review只有与指定过滤器完全匹配的标签才会被应用。
DORA 执行者评分
- Tier: Ultimate
DORA 执行者评分面板是一个组级别的条形图,可视化组织在过去完整日历月份内不同项目的 DevOps 性能水平状态。
该图表是您项目 DORA 得分的细分,分类 为高、中或低。 该图表聚合组中的所有子项目。
图表条形图显示每个评分类别的项目总数,按月计算。 要从图表中排除数据(例如,不包含),请在图例中选择要排除的系列。 将鼠标悬停在每个条形图上会显示一个对话框,解释评分的定义。
例如,如果一个项目的部署频率(速度)得分高,意味着该项目每天有一个或多个部署到生产环境。
| 指标 | 高 | 中 | 低 | 描述 |
|---|---|---|---|---|
| 部署频率 | ≥30 | 1-29 | <1 | 每天部署到生产环境的次数 |
| 变更前置时间 | ≤7 | 8-29 | ≥30 | 从代码提交到代码在生产环境成功运行的天数 |
| 服务恢复时间 | ≤1 | 2-6 | ≥7 | 当服务事件或影响用户的缺陷发生时,恢复服务所需的天数 |
| 变更失败率 | ≤15% | 16%-44% | ≥45% | 导致服务降级的生产环境变更的百分比 |
要了解更多信息,请参阅博客文章 GitLab 价值流仪表板中的 DORA 执行者评分详解。
按项目主题过滤面板
当您使用 YAML 配置自定义仪表板时, 可以按分配的 主题 过滤显示的项目。
panels:
- title: '我的 dora 执行者评分'
visualization: dora_performers_score
queryOverrides:
namespace: group/my-custom-group
filters:
projectTopics:
- JavaScript
- Vue.js如果提供了多个主题,所有主题都必须匹配,项目才会包含在结果中。
按 DORA 指标分组的项目
- Tier: Ultimate
按 DORA 指标分组的项目 面板是一个组级别的表格,列出组织跨项目的 DevOps 性能水平状态。
该表格列出所有项目及其 DORA 指标,聚合来自组和子组中子项目的数据。 这些指标按过去完整日历月份聚合。
您可以按指标值对项目进行排序,帮助您识别高、中、低表现的项目。 为了进一步调查,您可以选择项目名称以深入该项目的页面。
启用或禁用概览后台聚合
- Tier: Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
要启用或禁用价值流仪表板的概览计数聚合:
- 在左侧边栏,选择 搜索或跳转 并找到您的组。 该组必须是顶级组。
- 选择 设置 > 分析。
- 在 价值流仪表板 中,选择或清除 为价值流仪表板启用概览后台聚合 复选框。
要获取组中的聚合使用计数,请使用 GraphQL API。
查看价值流仪表板
先决条件:
- 您必须拥有组或项目的至少 Reporter 角色。
- 概览后台聚合 必须启用。
- 要在比较面板中查看贡献者数量指标,您必须 设置 ClickHouse。
- 要跟踪部署到生产环境,组或项目必须在 生产部署级别 中有一个环境。
- 要测量周期时间,问题必须从提交消息中交叉链接。
对于组
要查看组的价值流仪表板:
-
从分析仪表板:
- 在组左侧边栏,选择 搜索或跳转 并找到您的组。
- 选择 分析 > 分析仪表板。
-
从价值流分析:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目或组。
- 选择 分析 > 价值流分析。
- 在 过滤结果 文本框下方,在 生命周期指标 行中,选择 价值流仪表板 / DORA。
- 可选。要打开新页面,将此路径
/analytics/dashboards/value_streams_dashboard附加到组 URL(例如,https://gitlab.com/groups/gitlab-org/-/analytics/dashboards/value_streams_dashboard)。
对于项目
要将价值流仪表板作为项目的分析仪表板查看:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 分析 > 分析仪表板。
- 从可用仪表板列表中,选择 价值流仪表板。
定期报告
您可以使用 CI/CD 组件 价值流仪表板定期报告工具 来定期生成报告。 此工具通过消除手动搜索具有相关数据的正确仪表板的需求,节省了时间和精力,让您可以专注于分析洞察。 通过定期生成报告,您可以确保组织中的决策者获得主动、及时和相关的信息。
定期报告工具通过公共 GitLab GraphQL API 从项目或组收集指标, 然后使用 GitLab 风格的 Markdown 构建报告, 并在指定项目中创建一个问题。 该问题包含 Markdown 格式的比较指标表。
请参阅 定期报告示例。要了解更多信息,请参阅博客文章 新的定期报告生成工具简化价值流管理。
自定义仪表板面板
您可以自定义价值流仪表板并配置要在页面中包含的子组和项目。
要自定义页面的默认内容,您需要在所选项目中创建一个 YAML 配置文件。 在此文件中,您可以定义各种设置和参数,如标题、描述、面板数量和标签过滤器。 该文件是模式驱动的,并使用 Git 等版本控制系统进行管理。 这 enables 跟踪和维护配置更改的历史记录,必要时恢复到以前的版本,并与团队成员有效协作。 查询参数仍可用于覆盖 YAML 配置。
在自定义仪表板面板之前,您必须选择一个项目来存储您的 YAML 配置文件。
先决条件:
- 您必须拥有组的至少 Maintainer 角色。
- 在左侧边栏,选择 搜索或跳转 并找到您的组。
- 选择 设置 > 分析。
- 选择您希望存储 YAML 配置文件的项目。
- 选择 保存更改。
设置好项目后,设置配置文件:
- 在左侧边栏,选择 搜索或跳转 并找到您在上一步中选择的项目。
- 在默认分支中,创建配置文件:
.gitlab/analytics/dashboards/value_streams/value_streams.yaml。 - 在
value_streams.yaml配置文件中,填写配置选项:
| 字段 | 描述 |
|---|---|
title |
面板的自定义名称 |
queryOverrides(以前为 data) |
覆盖每个可视化的特定数据查询参数。 |
namespace(queryOverrides 的子字段) |
用于面板的组或项目路径 |
filters(queryOverrides 的子字段) |
过滤每个可视化类型的查询。请参阅 支持的可视化。 |
visualization |
要渲染的可视化类型。支持选项为 dora_chart、dora_performers_score 和 usage_overview。 |
gridAttributes |
面板的大小和位置 |
xPos(gridAttributes 的子字段) |
面板的水平位置 |
yPos(gridAttributes 的子字段) |
面板的垂直位置 |
width(gridAttributes 的子字段) |
面板的宽度(最大 12) |
height(gridAttributes 的子字段) |
面板的高度 |
# version - 分析仪表板架构的最新版本
version: '2'
# title - 更改价值流仪表板的标题。
title: '自定义仪表板标题'
# description - 更改价值流仪表板的描述。[可选]
description: '自定义描述'
# panels - 包含面板设置的面板列表。
# title - 更改面板的标题。
# visualization - 要渲染的可视化类型
# gridAttributes - 面板的大小和位置
# queryOverrides.namespace - 用于图表面板的组或项目路径
# queryOverrides.filters.excludeMetrics - 通过指标 ID 从图表面板隐藏行。
# queryOverrides.filters.labels -
# 仅显示与查询标签匹配的结果。如果提供了多个标签,
# 只需单个标签匹配即可将数据包含在结果中。
# 兼容的指标(其他指标将自动排除):
# * lead_time
# * cycle_time
# * issues
# * issues_completed
# * merge_request_throughput
panels:
- title: '组使用概览'
visualization: usage_overview
queryOverrides:
namespace: group
filters:
include:
- groups
- projects
gridAttributes:
yPos: 1
xPos: 1
height: 1
width: 12
- title: '组 dora 和问题指标'
visualization: dora_chart
queryOverrides:
namespace: group
filters:
excludeMetrics:
- deployment_frequency
- deploys
labels:
- in_development
- in_review
gridAttributes:
yPos: 2
xPos: 1
height: 12
width: 12
- title: '我的 dora 执行者评分'
visualization: dora_performers_score
queryOverrides:
namespace: group/my-project
filters:
projectTopics:
- ruby
- javasript
gridAttributes:
yPos: 26
xPos: 1
height: 12
width: 12支持的可视化过滤器
queryOverrides 字段上的 filters 子字段可用于自定义面板中显示的数据。
DevSecOps 指标比较面板过滤器
dora_chart 可视化的过滤器。
| 过滤器 | 描述 | 支持的值 |
|---|---|---|
excludeMetrics |
通过指标 ID 从图表面板隐藏行 | deployment_frequency, lead_time_for_changes,time_to_restore_service, change_failure_rate, lead_time, cycle_time, issues, issues_completed, deploys, merge_request_throughput, median_time_to_merge, contributor_count, vulnerability_critical, vulnerability_high |
labels |
按标签过滤数据 | 任何可用的组标签。标签过滤受以下指标支持:lead_time, cycle_time, issues, issues_completed, merge_request_throughput, median_time_to_merge。 |
DORA 执行者评分面板过滤器
dora_performers_score 可视化的过滤器。
| 过滤器 | 描述 | 支持的值 |
|---|---|---|
projectTopics |
根据分配的 主题 过滤显示的项目 | 任何可用的组主题 |
使用概览面板过滤器
usage_overview 可视化的过滤器。
组和子组命名空间
| 过滤器 | 描述 | 支持的值 |
|---|---|---|
include |
限制返回的指标,默认显示所有可用 | groups, projects, issues, merge_requests, pipelines, users |
项目命名空间
| 过滤器 | 描述 | 支持的值 |
|---|---|---|
include |
限制返回的指标,默认显示所有可用 | issues, merge_requests, pipelines |
仪表板指标和钻取报告
| 指标 | ID | 描述 | 钻取报告 | 文档页面 |
|---|---|---|---|---|
| 部署频率 | deployment_frequency |
每天部署到生产环境的平均次数。此指标衡量向最终用户交付价值的频率。 | 部署频率选项卡 | 部署频率 |
| 变更前置时间 | lead_time_for_changes |
成功将提交交付到生产环境的时间。此指标反映 CI/CD 流水线的效率。 | 前置时间选项卡 | 变更前置时间 |
| 服务恢复时间 | time_to_restore_service |
组织从生产环境故障中恢复所需的时间。 | 服务恢复时间选项卡 | 服务恢复时间 |
| 变更失败率 | change_failure_rate |
导致生产环境事件的部署百分比。 | 变更失败率选项卡 | 变更失败率 |
| 前置时间 | lead_time |
从问题创建到问题关闭的中位数时间。 | 价值流分析 | 查看问题的前置时间和周期时间 |
| 周期时间 | cycle_time |
从链接问题的合并请求的最早提交到该问题关闭的中位数时间。 | VSA 概览 | 查看问题的前置时间和周期时间 |
| 创建的问题 | issues |
创建的新问题数量。 | 问题分析 | 问题分析 |
| 关闭的问题 | issues_completed |
按月关闭的问题数量。 | 问题分析 | 问题分析 |
| 部署次数 | deploys |
部署到生产环境的总次数。 | 合并请求分析 | 合并请求分析 |
| 合并请求吞吐量 | merge_request_throughput |
按月合并的合并请求数量。 | 组生产力分析, 项目合并请求分析 | 组生产力分析 项目合并请求分析 |
| 合并中位数时间 | median_time_to_merge |
从合并请求创建到合并请求合并的中位数时间。 | 组生产力分析, 项目合并请求分析 | 组生产力分析 项目合并请求分析 |
| 贡献者数量 | contributor_count |
组中有贡献的月度唯一用户数量。 | 贡献分析 | 用户贡献事件 |
| 随时间变化的严重漏洞 | vulnerability_critical |
项目或组中随时间变化的严重漏洞 | 漏洞报告 | 漏洞报告 |
| 随时间变化的高危漏洞 | vulnerability_high |
项目或组中随时间变化的高危漏洞 | 漏洞报告 | 漏洞报告 |
与 Jira 相关的指标
以下指标不依赖于使用 Jira:
- DORA 部署频率
- DORA 变更前置时间
- 部署次数
- 合并请求吞吐量
- 合并中位数时间
- 漏洞