Lead time for change metrics are not computed for the first deployment to a project
Summary
Lead time for change metrics are not computed for the first deployment to a project. The 2nd deployment onward calculates metrics. Other metrics are captured, such as Deployment frequency. It appears only Lead Time for Change is missing.
Steps to reproduce
- Create a brand new project
- Create a branch, associated MR, and alter some code
- Merge the MR into Main
- Do a production deployment (e.g. via the API or a pipeline)
- Observe that the LT4C metric is null
- Repeat steps 2-4 with a second MR/deployment & observe LT4C is calculated for the second change.
Example Project
https://gitlab.com/gl-demo-ultimate-azwickey/atl-workshop/dora
What is the current bug behavior?
Lead time for change is "null" for the first deployment
What is the expected correct behavior?
Lead time for change is calculated for all deployments
Relevant logs and/or screenshots
An MR was merged and deployed to production on 4/19 and 4/22. Sample API call:
cat data.json
{
"status": "success",
"environment": "production",
"sha": "f57fc442ba5a4de1579a6e6e7a4d8525aebb2880",
"ref": "refs/heads/master",
"tag": "false"
}
curl -i -s -X POST --location 'https://gitlab.com/api/v4/projects/57056376/deployments' \
--header "PRIVATE-TOKEN: $GITLAB_TOKEN" \
--header "Content-type: application/json" \
--data @data.json > output
Deployments are being correctly recorded:
curl -s --header "PRIVATE-TOKEN: $GITLAB_TOKEN" https://gitlab.com/api/v4/projects/$PROJECT_ID/dora/metrics\?metric\=deployment_frequency\&start_date\=2024-04-01 | jq .
[
{
"date": "2024-04-19",
"value": 1
},
{
"date": "2024-04-22",
"value": 1
}
]
Lead time for change is missing for the first change
curl -s --header "PRIVATE-TOKEN: $GITLAB_TOKEN" https://gitlab.com/api/v4/projects/$PROJECT_ID/dora/metrics\?metric\=lead_time_for_changes\&start_date\=2024-04-01 | jq .
[
{
"date": "2024-04-19",
"value": null
},
{
"date": "2024-04-22",
"value": 315.0
}
]
Output of checks
This bug happens on GitLab.com
Possible fixes
Edited by Adam Zwickey