Skip to content
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

Merged
merged 19 commits into from
Apr 8, 2025
Merged

Teddy.gesbert/doc dora #28316

merged 19 commits into from
Apr 8, 2025

Conversation

Tecoddy
Copy link
Contributor

@Tecoddy Tecoddy commented Mar 24, 2025

What does this PR do? What is the motivation?

  • Replace “Incidents” with “Failures”
    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.
  • Add a ‘Requirements’ Section for Each Metric
    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.
  • Unconsistency between setup documentation and API documentation
    Version tag does not appear as an optional tag in setup documentation.
  • Change Mean Time to Restore to Time to Restore
    As we will use the median instead of average for Time to Restore, using Mean Time to Restore is not relevant anymore.
  • Storage migration
    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:

  • Ready for merge

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:

/merge

Additional notes

@Tecoddy Tecoddy requested review from a team as code owners March 24, 2025 16:59
@Tecoddy Tecoddy requested a review from henrywalsh March 24, 2025 16:59
@github-actions github-actions bot added Architecture Everything related to the Doc backend Images Images are added/removed with this PR labels Mar 24, 2025
@michaelcretzman michaelcretzman added the editorial review Waiting on a more in-depth review label Mar 24, 2025
@michaelcretzman
Copy link
Contributor

Jira ticket for reviewing this content: https://datadoghq.atlassian.net/browse/DOCS-10449
A member of the Docs Team will review this PR ASAP

Copy link
Contributor

@calvarjorge calvarjorge left a 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.

Tecoddy and others added 3 commits March 25, 2025 15:21
Change deployment.merge_time to Merge Time (i.e. metric to field) to avoid any confusion with previous Metrics type
Copy link
Contributor

@joepeeples joepeeples left a 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.|
Copy link
Contributor

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.

Suggested change
| `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.|
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `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.|
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `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.|

Comment on lines 68 to 69
| `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. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Comment on lines 24 to 25
[**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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[**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].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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].

Comment on lines 72 to 77
- `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`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: How to Set Up Failure Data for DORA Metrics
title: Set Up Failure Data for DORA Metrics

Copy link
Contributor

@joepeeples joepeeples left a 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. |
Copy link
Contributor

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.

Suggested change
| `Duration` | number (s) | Duration of the deployment. |
| `Duration` | number | Duration of the deployment. |

@Tecoddy
Copy link
Contributor Author

Tecoddy commented Apr 8, 2025

/merge

@dd-devflow
Copy link

dd-devflow bot commented Apr 8, 2025

View all feedbacks in Devflow UI.

2025-04-08 16:36:27 UTC ℹ️ Start processing command /merge


2025-04-08 16:36:31 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 18m (p90).


2025-04-08 16:51:29 UTC ℹ️ MergeQueue: This merge request was merged

@dd-mergequeue dd-mergequeue bot merged commit 7b79ea2 into master Apr 8, 2025
15 of 17 checks passed
@dd-mergequeue dd-mergequeue bot deleted the teddy.gesbert/doc-dora branch April 8, 2025 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Architecture Everything related to the Doc backend editorial review Waiting on a more in-depth review Images Images are added/removed with this PR mergequeue-status: done
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants