-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Teddy.gesbert/doc dora #28316
Teddy.gesbert/doc dora #28316
Conversation
Jira ticket for reviewing this content: https://datadoghq.atlassian.net/browse/DOCS-10449 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Describing the DORA event fields as metrics (eg, deployent.number_of_commits
) may make it confusing. Maybe we should refer to them just as fields, eg: "DORA deployment events have these fields:" and then the table with Average CLT, Number of Commits, etc.
Co-authored-by: Jorge Calvar <[email protected]>
Change deployment.merge_time to Merge Time (i.e. metric to field) to avoid any confusion with previous Metrics type
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added some edit suggestions, thanks!
| Metric | Description | | ||
|-------------------------------|----------------------------| | ||
| `Deployment Frequency` | The number of deployments detected by Datadog based on your selected [deployment data source][10].| | ||
| `Change Lead Time` | The age in `seconds` of all associated Git commits at the time of deployment.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not your change, but plain text seems appropriate for a general reference.
| `Change Lead Time` | The age in `seconds` of all associated Git commits at the time of deployment.| | |
| `Change Lead Time` | The age in seconds of all associated Git commits at the time of deployment.| |
|-------------------------------|----------------------------| | ||
| `Deployment Frequency` | The number of deployments detected by Datadog based on your selected [deployment data source][10].| | ||
| `Change Lead Time` | The age in `seconds` of all associated Git commits at the time of deployment.| | ||
| `Change Failure Rate` | Calculated with the formula `Count of Failures/Count of Deployments`. A big time rollup of at least 1 week is recommended to account for the time difference between deployments and when the failure starts.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| `Change Failure Rate` | Calculated with the formula `Count of Failures/Count of Deployments`. A big time rollup of at least 1 week is recommended to account for the time difference between deployments and when the failure starts.| | |
| `Change Failure Rate` | Calculated with the formula `Count of Failures/Count of Deployments`. A long time rollup of at least 1 week is recommended to account for the time difference between deployments and when the failure starts.| |
| `Deployment Frequency` | The number of deployments detected by Datadog based on your selected [deployment data source][10].| | ||
| `Change Lead Time` | The age in `seconds` of all associated Git commits at the time of deployment.| | ||
| `Change Failure Rate` | Calculated with the formula `Count of Failures/Count of Deployments`. A big time rollup of at least 1 week is recommended to account for the time difference between deployments and when the failure starts.| | ||
| `Time to Restore` | The time in `seconds` between a failure's `started_at` and `finished_at` timestamps.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| `Time to Restore` | The time in `seconds` between a failure's `started_at` and `finished_at` timestamps.| | |
| `Time to Restore` | The time in seconds between a failure's `started_at` and `finished_at` timestamps.| |
| `Time to Pr Ready` | Time from when the commit is created until the PR is ready for review. This metric is only available for commits that were made before the PR was marked as ready for review. | | ||
| `Review Time` | Time from when the PR is marked ready for review until it receives the last approval. This metric is only available for commits that were made before the PR is approved. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| `Time to Pr Ready` | Time from when the commit is created until the PR is ready for review. This metric is only available for commits that were made before the PR was marked as ready for review. | | |
| `Review Time` | Time from when the PR is marked ready for review until it receives the last approval. This metric is only available for commits that were made before the PR is approved. | | |
| `Time to PR Ready` | Time from when the commit is created until the PR is ready for review. This metric is only available for commits made before the PR is marked as ready for review. | | |
| `Review Time` | Time from when the PR is marked ready for review until it receives the last approval. This metric is only available for commits made before the PR is approved. | |
| `dora.merge_time` | duration | Time from the last approval until the PR is merged. | | ||
| `dora.time_to_deploy` | duration | Time from PR merge to start of deployment. If a commit does not have an associated PR, this metric is calculated as the time from commit creation to start of deployment. | | ||
| `dora.deploy_time` | duration | Time from start of deployment to end of deployment. This metric is not available if there is no deployment duration information. | | ||
These stages are only computed when the source of the repository metadata is GitHub, and there must be a pull request (PR) associated with a commit, if any. A commit is associated with a PR if the commit is first introduced to the target branch when merging that PR. If a commit has no associated PR, only `Time to Deploy` and `Deploy Time` fields are available. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These stages are only computed when the source of the repository metadata is GitHub, and there must be a pull request (PR) associated with a commit, if any. A commit is associated with a PR if the commit is first introduced to the target branch when merging that PR. If a commit has no associated PR, only `Time to Deploy` and `Deploy Time` fields are available. | |
These stages are only computed when the source of the repository metadata is GitHub, and for most stages there must be a pull request (PR) associated with a commit. A commit is associated with a PR if the commit is first introduced to the target branch when merging that PR. If a commit has no associated PR, only `Time to Deploy` and `Deploy Time` fields are available. |
[**Failures events**][9] | ||
: Indicate that a new failure has occurred for a service in a specific environment. Failures events are used to compute change failure rate and time to restore. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[**Failures events**][9] | |
: Indicate that a new failure has occurred for a service in a specific environment. Failures events are used to compute change failure rate and time to restore. | |
[**Failure events**][9] | |
: Indicate that a new failure has occurred for a service in a specific environment. Failure events are used to compute change failure rate and time to restore. |
- `service`: The service that was deployed. If the provided service is registered in the [Software Catalog][23] with metadata set up (see [Adding Metadata][24]), the `team` of the service is automatically retrieved and associated with all metrics. | ||
### Requirements | ||
|
||
- datadog-ci CLI / API is enabled as a deployment events data source in [DORA settings][28]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- datadog-ci CLI / API is enabled as a deployment events data source in [DORA settings][28]. | |
- **datadog-ci CLI / API** is enabled as a **Deployments** event data source in [DORA settings][28]. |
- `repository_url`: The source code repository of the service. ***Required for calculating change lead time*** | ||
- `commit_sha`: The SHA of the HEAD commit associated with the deployment. ***Required for calculating change lead time*** | ||
- `team` to associate a deployment with a different `team` than the one found automatically for the service. | ||
- `env` to filter your DORA metrics by environment on the [**DORA Metrics** page][25]. | ||
- `id` for identifying a deployment. This attribute is user-generated; when not provided, the endpoint returns a Datadog-generated UUID. | ||
- `version` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `repository_url`: The source code repository of the service. ***Required for calculating change lead time*** | |
- `commit_sha`: The SHA of the HEAD commit associated with the deployment. ***Required for calculating change lead time*** | |
- `team` to associate a deployment with a different `team` than the one found automatically for the service. | |
- `env` to filter your DORA metrics by environment on the [**DORA Metrics** page][25]. | |
- `id` for identifying a deployment. This attribute is user-generated; when not provided, the endpoint returns a Datadog-generated UUID. | |
- `version` | |
- `repository_url`: The source code repository of the service. Required for calculating change lead time. | |
- `commit_sha`: The SHA of the HEAD commit associated with the deployment. Required for calculating change lead time. | |
- `team`: Associate a deployment with a different `team` than the one found automatically for the service. | |
- `env`: Filter your DORA metrics by environment on the [DORA Metrics][25] page. | |
- `id`: Identify a deployment. This attribute is user-generated; when not provided, the endpoint returns a Datadog-generated UUID. | |
- `version`: The deployment version. |
@@ -1,6 +1,6 @@ | |||
--- | |||
title: How to Set Up Incident Data for DORA Metrics | |||
description: Learn how to send incident events for DORA Metrics. | |||
title: How to Set Up Failure Data for DORA Metrics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
title: How to Set Up Failure Data for DORA Metrics | |
title: Set Up Failure Data for DORA Metrics |
Applied suggestions from Joe Peeples
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple small comments but LGTM! Thanks for preparing this content @Tecoddy !
|
||
| Field | Type | Description | | ||
|------------|--------|----------------------------| | ||
| `Duration` | number (s) | Duration of the deployment. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, if you're planning to keep the Type column in these tables, just "number" is sufficient for all the rows instead of "number (s)" -- It'll be clear that values need to be numbers, regardless of how many there are.
| `Duration` | number (s) | Duration of the deployment. | | |
| `Duration` | number | Duration of the deployment. | |
Co-authored-by: Joe Peeples <[email protected]>
/merge |
View all feedbacks in Devflow UI.
The expected merge time in
|
What does this PR do? What is the motivation?
To avoid confusion with Incident Management, the documentation should no longer reference “Incident Events” when describing failures. Instead, all references should use “Failures”, ensuring consistency with terminology used in the product.
Customers often miss the requirements for setting up Dora metrics. Added a dedicated Requirements section to make it more clear for customers to see what’s needed.
Version tag does not appear as an optional tag in setup documentation.
As we will use the median instead of average for Time to Restore, using Mean Time to Restore is not relevant anymore.
As we are migrating to a new event-based storage system, we need to do a few updates to adapt to the new structure.
Details :
Change dora.xxxxx to new DORA Metrics
Data collected : Change structure and information provided.
Merge instructions
Merge readiness:
Merge queue is enabled in this repo. Your branch name MUST follow the
<slack_username>/<branch_name>
convention, or your pull request will not pass in CI. If your branch doesn't follow this format, rename it or create a new branch and PR.To have your PR automatically merged after it receives the required reviews, add the following PR comment:
Additional notes