You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by zk...@apache.org on 2023/05/19 14:35:58 UTC

[incubator-devlake-website] branch main updated: docs: update annotations and wordings for DORA metrics in v0.17 and main (#538)

This is an automated email from the ASF dual-hosted git repository.

zky pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 32325bd348 docs: update annotations and wordings for DORA metrics in v0.17 and main (#538)
32325bd348 is described below

commit 32325bd3484145167c8fd8218cd4b37181a3f211
Author: Louis.z <lo...@gmail.com>
AuthorDate: Fri May 19 22:35:54 2023 +0800

    docs: update annotations and wordings for DORA metrics in v0.17 and main (#538)
    
    * fix: add visual description for metrics
    
    * fix: update the desc for required data and tr
    
    ---------
    
    Co-authored-by: Startrekzky <ka...@merico.dev>
---
 .../Configuration/images/deployment_definition.png | Bin 0 -> 150056 bytes
 .../images/lead_time_for_changes_definition.png    | Bin 0 -> 397572 bytes
 docs/Metrics/CFR.md                                |  16 +++-------------
 docs/Metrics/DeploymentFrequency.md                |  14 ++++++--------
 docs/Metrics/LeadTimeForChanges.md                 |  21 +++++++++------------
 docs/Metrics/MTTR.md                               |  16 +++-------------
 .../Configuration/images/deployment_definition.png | Bin 0 -> 150056 bytes
 .../images/lead_time_for_changes_definition.png    | Bin 0 -> 397572 bytes
 versioned_docs/version-v0.17/Metrics/CFR.md        |  14 +++-----------
 .../version-v0.17/Metrics/DeploymentFrequency.md   |  16 ++++++++--------
 .../version-v0.17/Metrics/LeadTimeForChanges.md    |  19 +++++++++----------
 versioned_docs/version-v0.17/Metrics/MTTR.md       |  14 +++-----------
 12 files changed, 44 insertions(+), 86 deletions(-)

diff --git a/docs/Configuration/images/deployment_definition.png b/docs/Configuration/images/deployment_definition.png
new file mode 100644
index 0000000000..7c54fd4c5f
Binary files /dev/null and b/docs/Configuration/images/deployment_definition.png differ
diff --git a/docs/Configuration/images/lead_time_for_changes_definition.png b/docs/Configuration/images/lead_time_for_changes_definition.png
new file mode 100644
index 0000000000..fa10c990f2
Binary files /dev/null and b/docs/Configuration/images/lead_time_for_changes_definition.png differ
diff --git a/docs/Metrics/CFR.md b/docs/Metrics/CFR.md
index 019b9b1e8a..7aa2dd2b7e 100644
--- a/docs/Metrics/CFR.md
+++ b/docs/Metrics/CFR.md
@@ -38,22 +38,12 @@ Below are the benchmarks for different development teams from Google's report. H
 
 <b>Data Sources Required</b>
 
-This metric relies on:
-
-- `Deployments` collected in one of the following ways:
-  - Open APIs of Jenkins, GitLab, GitHub, etc.
-  - Webhook for general CI tools.
-  - Releases and PR/MRs from GitHub, GitLab APIs, etc.
-- `Incidents` collected in one of the following ways:
-  - Issue tracking tools such as Jira, TAPD, GitHub, etc.
-  - Incident or Service Monitoring tools such as PagerDuty, ServiceNow, etc.
+- `Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, or Webhook, etc. 
+- `Incidents` from Jira issues, GitHub issues, TAPD issues, PagerDuty Incidents, etc.
 
 <b>Transformation Rules Required</b>
 
-This metric relies on:
-
-- Deployment configuration in Jenkins, GitLab, GitHub or BitBucket transformation rules to let DevLake know which CI builds/jobs can be regarded as `Deployments`.
-- Incident configuration in Jira, GitHub or TAPD transformation rules to let DevLake know which issues can be regarded as `Incidents`.
+Define `deployment` and `incident` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI/issue records can be regarded as deployments or incidents.
 
 <b>SQL Queries</b>
 
diff --git a/docs/Metrics/DeploymentFrequency.md b/docs/Metrics/DeploymentFrequency.md
index 4d69401527..0e105f98fb 100644
--- a/docs/Metrics/DeploymentFrequency.md
+++ b/docs/Metrics/DeploymentFrequency.md
@@ -7,7 +7,9 @@ sidebar_position: 26
 
 ## What is this metric?
 
-How often an organization deploys code to production or release it to end users.
+How often an organization deploys code to production or release it to end users. Below is a picture showing the definition of DevLake `deployments`.
+
+![](../Configuration/images/deployment_definition.png)
 
 ## Why is it important?
 
@@ -36,19 +38,15 @@ Below are the benchmarks for different development teams from Google's report. D
 
 <b>Data Sources Required</b>
 
-This metric relies on deployments collected in multiple ways:
-
-- Open APIs of Jenkins, GitLab, GitHub, etc.
-- Webhook for general CI tools.
-- Releases and PR/MRs from GitHub, GitLab APIs, etc.
+`Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, Webhook, etc. 
 
 <b>Transformation Rules Required</b>
 
-This metric relies on the deployment configuration in Jenkins, GitLab or GitHub transformation rules to let DevLake know what CI builds/jobs can be regarded as deployments.
+Define `deployment` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI records can be regarded as deployments.
 
 <b>SQL Queries</b>
 
-If you want to measure the monthly trend of deployment count as the picture shown below, run the following SQL in Grafana.
+DevLake deployments can be found in table [cicd_deployment_commits](/docs/DataModels/DevLakeDomainLayerSchema.md#cicd_deployment_commits). If you want to measure the monthly trend of deployment count as the picture shown below, run the following SQL in Grafana.
 
 ![](/img/Metrics/deployment-frequency-monthly.jpeg)
 
diff --git a/docs/Metrics/LeadTimeForChanges.md b/docs/Metrics/LeadTimeForChanges.md
index 33ae8a3a37..f18ec3963b 100644
--- a/docs/Metrics/LeadTimeForChanges.md
+++ b/docs/Metrics/LeadTimeForChanges.md
@@ -1,7 +1,7 @@
 ---
-title: "DORA - Lead Time for Changes"
+title: "DORA - Median Lead Time for Changes"
 description: >
-  DORA - Lead Time for Changes
+  DORA - Median Lead Time for Changes
 sidebar_position: 27
 ---
 
@@ -18,13 +18,13 @@ This metric measures the time it takes to a code change to the production enviro
 DORA dashboard. See [live demo](https://grafana-lake.demo.devlake.io/grafana/d/qNo8_0M4z/dora?orgId=1).
 
 ## How is it calculated?
-
 This metric is quite similar to [PR Cycle Time](PRCycleTime.md). The difference is that 'Lead Time for Changes' uses a different method to filter PRs.
 
-1. Find the PRs' associated deployments whose finished_date falls into the time range that users select
-2. Calculate the PRs' median cycle time. This will be the Median Lead Time for Changes.
+1. Find the PRs' associated deployment commits whose finished_date falls into the time range that users select.
+2. Find the associated pull requests of the commits diff between two consecutive successful `deployment commits` in the production environment.
+3. Calculate the PRs' median cycle time. This will be the Median Lead Time for Changes.
 
-![](/img/Metrics/pr-commit-deploy.jpeg)
+![](../Configuration/images/lead_time_for_changes_definition.png)
 
 PR cycle time is pre-calculated by the `dora` plugin during every data collection. You can find it in `pr_cycle_time` in [table.project_pr_metrics](https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema/#project_pr_metrics) of DevLake's database.
 
@@ -41,15 +41,12 @@ Below are the benchmarks for different development teams from Google's report. H
 
 <b>Data Sources Required</b>
 
-This metric relies on deployments collected in multiple ways:
-
-- Open APIs of Jenkins, GitLab, GitHub, etc.
-- Webhook for general CI tools.
-- Releases and PR/MRs from GitHub, GitLab APIs, etc.
+- `Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, Webhook, etc. 
+- `Pull Requests` from GitHub PRs, GitLab MRs, BitBucket PRs, Azure DevOps PRs, etc.
 
 <b>Transformation Rules Required</b>
 
-This metric relies on the deployment configuration in Jenkins, GitLab or GitHub transformation rules to let DevLake know what CI builds/jobs can be regarded as deployments.
+Define `deployment` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI records can be regarded as deployments.
 
 <b>SQL Queries</b>
 
diff --git a/docs/Metrics/MTTR.md b/docs/Metrics/MTTR.md
index 75fe938e64..34829efdc2 100644
--- a/docs/Metrics/MTTR.md
+++ b/docs/Metrics/MTTR.md
@@ -36,22 +36,12 @@ Below are the benchmarks for different development teams from Google's report. H
 
 <b>Data Sources Required</b>
 
-This metric relies on:
-
-- `Deployments` collected in one of the following ways:
-  - Open APIs of Jenkins, GitLab, GitHub, etc.
-  - Webhook for general CI tools.
-  - Releases and PR/MRs from GitHub, GitLab APIs, etc.
-- `Incidents` collected in one of the following ways:
-  - Issue tracking tools such as Jira, TAPD, GitHub, etc.
-  - Incident or Service Monitoring tools such as PagerDuty, ServiceNow, etc.
+- `Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, or Webhook, etc. 
+- `Incidents` from Jira issues, GitHub issues, TAPD issues, PagerDuty Incidents, etc.
 
 <b>Transformation Rules Required</b>
 
-This metric relies on:
-
-- Deployment configuration in Jenkins, GitLab or GitHub transformation rules to let DevLake know what CI builds/jobs can be regarded as `Deployments`.
-- Incident configuration in Jira, GitHub or TAPD transformation rules to let DevLake know what CI builds/jobs can be regarded as `Incidents`.
+Define `deployment` and `incident` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI/issue records can be regarded as deployments or incidents.
 
 <b>SQL Queries</b>
 
diff --git a/versioned_docs/version-v0.17/Configuration/images/deployment_definition.png b/versioned_docs/version-v0.17/Configuration/images/deployment_definition.png
new file mode 100644
index 0000000000..7c54fd4c5f
Binary files /dev/null and b/versioned_docs/version-v0.17/Configuration/images/deployment_definition.png differ
diff --git a/versioned_docs/version-v0.17/Configuration/images/lead_time_for_changes_definition.png b/versioned_docs/version-v0.17/Configuration/images/lead_time_for_changes_definition.png
new file mode 100644
index 0000000000..fa10c990f2
Binary files /dev/null and b/versioned_docs/version-v0.17/Configuration/images/lead_time_for_changes_definition.png differ
diff --git a/versioned_docs/version-v0.17/Metrics/CFR.md b/versioned_docs/version-v0.17/Metrics/CFR.md
index 64cc22e010..0f3fe218ad 100644
--- a/versioned_docs/version-v0.17/Metrics/CFR.md
+++ b/versioned_docs/version-v0.17/Metrics/CFR.md
@@ -35,20 +35,12 @@ Below are the benchmarks for different development teams from Google's report. H
 
 <b>Data Sources Required</b>
 
-This metric relies on:
-- `Deployments` collected in one of the following ways:
-  - Open APIs of Jenkins, GitLab, GitHub, etc.
-  - Webhook for general CI tools.
-  - Releases and PR/MRs from GitHub, GitLab APIs, etc.
-- `Incidents` collected in one of the following ways:
-  - Issue tracking tools such as Jira, TAPD, GitHub, etc.
-  - Incident or Service Monitoring tools such as PagerDuty, ServiceNow, etc.
+- `Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, or Webhook, etc. 
+- `Incidents` from Jira issues, GitHub issues, TAPD issues, PagerDuty Incidents, etc.
 
 <b>Transformation Rules Required</b>
 
-This metric relies on:
-- Deployment configuration in Jenkins, GitLab, GitHub or BitBucket transformation rules to let DevLake know which CI builds/jobs can be regarded as `Deployments`.
-- Incident configuration in Jira, GitHub or TAPD transformation rules to let DevLake know which issues can be regarded as `Incidents`.
+Define `deployment` and `incident` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI/issue records can be regarded as deployments or incidents.
 
 <b>SQL Queries</b>
 
diff --git a/versioned_docs/version-v0.17/Metrics/DeploymentFrequency.md b/versioned_docs/version-v0.17/Metrics/DeploymentFrequency.md
index 2aa57db4d2..e35e3e2750 100644
--- a/versioned_docs/version-v0.17/Metrics/DeploymentFrequency.md
+++ b/versioned_docs/version-v0.17/Metrics/DeploymentFrequency.md
@@ -5,8 +5,11 @@ description: >
 sidebar_position: 26
 ---
 
-## What is this metric? 
-How often an organization deploys code to production or release it to end users.
+## What is this metric?
+
+How often an organization deploys code to production or release it to end users. Below is a picture showing the definition of DevLake `deployments`.
+
+![](../Configuration/images/deployment_definition.png)
 
 ## Why is it important?
 Deployment frequency reflects the efficiency of a team's deployment. A team that deploys more frequently can deliver the product faster and users' feature requirements can be met faster.
@@ -34,18 +37,15 @@ Below are the benchmarks for different development teams from Google's report. D
 
 <b>Data Sources Required</b>
 
-This metric relies on deployments collected in multiple ways:
-- Open APIs of Jenkins, GitLab, GitHub, etc.
-- Webhook for general CI tools.
-- Releases and PR/MRs from GitHub, GitLab APIs, etc.
+`Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, Webhook, etc. 
 
 <b>Transformation Rules Required</b>
 
-This metric relies on the deployment configuration in Jenkins, GitLab or GitHub transformation rules to let DevLake know what CI builds/jobs can be regarded as deployments.
+Define `deployment` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI records can be regarded as deployments.
 
 <b>SQL Queries</b>
 
-If you want to measure the monthly trend of deployment count as the picture shown below, run the following SQL in Grafana.
+DevLake deployments can be found in table [cicd_deployment_commits](/docs/DataModels/DevLakeDomainLayerSchema.md#cicd_deployment_commits). If you want to measure the monthly trend of deployment count as the picture shown below, run the following SQL in Grafana.
 
 ![](/img/Metrics/deployment-frequency-monthly.jpeg)
 
diff --git a/versioned_docs/version-v0.17/Metrics/LeadTimeForChanges.md b/versioned_docs/version-v0.17/Metrics/LeadTimeForChanges.md
index d96d194861..0fe8e26fc9 100644
--- a/versioned_docs/version-v0.17/Metrics/LeadTimeForChanges.md
+++ b/versioned_docs/version-v0.17/Metrics/LeadTimeForChanges.md
@@ -1,7 +1,7 @@
 ---
-title: "DORA - Lead Time for Changes"
+title: "DORA - Median Lead Time for Changes"
 description: >
-  DORA - Lead Time for Changes
+  DORA - Median Lead Time for Changes
 sidebar_position: 27
 ---
 
@@ -18,10 +18,11 @@ DORA dashboard. See [live demo](https://grafana-lake.demo.devlake.io/grafana/d/q
 ## How is it calculated?
 This metric is quite similar to [PR Cycle Time](PRCycleTime.md). The difference is that 'Lead Time for Changes' uses a different method to filter PRs.
 
-1. Find the PRs' associated deployments whose finished_date falls into the time range that users select
-2. Calculate the PRs' median cycle time. This will be the Median Lead Time for Changes.
+1. Find the PRs' associated deployment commits whose finished_date falls into the time range that users select.
+2. Find the associated pull requests of the commits diff between two consecutive successful `deployment commits` in the production environment.
+3. Calculate the PRs' median cycle time. This will be the Median Lead Time for Changes.
 
-![](/img/Metrics/pr-commit-deploy.jpeg)
+![](../Configuration/images/lead_time_for_changes_definition.png)
 
 PR cycle time is pre-calculated by the `dora` plugin during every data collection. You can find it in `pr_cycle_time` in [table.project_pr_metrics](https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema/#project_pr_metrics) of DevLake's database.
 
@@ -39,14 +40,12 @@ Below are the benchmarks for different development teams from Google's report. H
 
 <b>Data Sources Required</b>
 
-This metric relies on deployments collected in multiple ways:
-- Open APIs of Jenkins, GitLab, GitHub, etc.
-- Webhook for general CI tools.
-- Releases and PR/MRs from GitHub, GitLab APIs, etc.
+- `Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, Webhook, etc. 
+- `Pull Requests` from GitHub PRs, GitLab MRs, BitBucket PRs, Azure DevOps PRs, etc.
 
 <b>Transformation Rules Required</b>
 
-This metric relies on the deployment configuration in Jenkins, GitLab or GitHub transformation rules to let DevLake know what CI builds/jobs can be regarded as deployments.
+Define `deployment` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI records can be regarded as deployments.
 
 <b>SQL Queries</b>
 
diff --git a/versioned_docs/version-v0.17/Metrics/MTTR.md b/versioned_docs/version-v0.17/Metrics/MTTR.md
index 7465a99e2b..a5d3117157 100644
--- a/versioned_docs/version-v0.17/Metrics/MTTR.md
+++ b/versioned_docs/version-v0.17/Metrics/MTTR.md
@@ -33,20 +33,12 @@ Below are the benchmarks for different development teams from Google's report. H
 
 <b>Data Sources Required</b>
 
-This metric relies on:
-- `Deployments` collected in one of the following ways:
-  - Open APIs of Jenkins, GitLab, GitHub, etc.
-  - Webhook for general CI tools.
-  - Releases and PR/MRs from GitHub, GitLab APIs, etc.
-- `Incidents` collected in one of the following ways:
-  - Issue tracking tools such as Jira, TAPD, GitHub, etc.
-  - Incident or Service Monitoring tools such as PagerDuty, ServiceNow, etc.
+- `Deployments` from Jenkins, GitLab CI, GitHub Action, BitBucket Pipelines, or Webhook, etc. 
+- `Incidents` from Jira issues, GitHub issues, TAPD issues, PagerDuty Incidents, etc.
 
 <b>Transformation Rules Required</b>
 
-This metric relies on:
-- Deployment configuration in Jenkins, GitLab or GitHub transformation rules to let DevLake know what CI builds/jobs can be regarded as `Deployments`.
-- Incident configuration in Jira, GitHub or TAPD transformation rules to let DevLake know what CI builds/jobs can be regarded as `Incidents`.
+Define `deployment` and `incident` in [data transformations](https://devlake.apache.org/docs/Configuration/Tutorial#step-3---add-transformations-optional) while configuring the blueprint of a project to let DevLake know what CI/issue records can be regarded as deployments or incidents.
 
 <b>SQL Queries</b>