From 719fbc8a05fabd723f721f3b19a74c1997c1708c Mon Sep 17 00:00:00 2001 From: NimRegev Date: Mon, 12 Dec 2022 11:10:59 +0200 Subject: [PATCH 1/3] Add dashboard content to ProjectOne --- _data/home-content.yml | 6 +++--- _data/nav.yml | 4 ++-- .../{reporting => dashboards}/dora-metrics.md | 20 +++++++++---------- .../home-dashboard.md | 10 +++++----- 4 files changed, 20 insertions(+), 20 deletions(-) rename _docs/{reporting => dashboards}/dora-metrics.md (91%) rename _docs/{reporting => dashboards}/home-dashboard.md (96%) diff --git a/_data/home-content.yml b/_data/home-content.yml index 18f73ad11..3e07cba9b 100644 --- a/_data/home-content.yml +++ b/_data/home-content.yml @@ -76,14 +76,14 @@ localurl: /docs/deployment/install-argo-rollouts/ -- title: Reports & Insights +- title: Dashboards & insights icon: images/home-icons/guides.png url: '' links: - title: Home dashboard - localurl: /docs/reporting/home-dashboard/ + localurl: /docs/dashboards/home-dashboard/ - title: DORA metrics - localurl: /docs/reporting/dora-metrics/ + localurl: /docs/dashboards/dora-metrics/ - title: Image enrichment diff --git a/_data/nav.yml b/_data/nav.yml index dc4326434..9e3ed8915 100644 --- a/_data/nav.yml +++ b/_data/nav.yml @@ -92,8 +92,8 @@ - title: Install Argo Rollouts url: "/install-argo-rollouts" -- title: Reports & Insights - url: "/reporting" +- title: Dashboards & Insights + url: "/dashboards" pages: - title: Home dashboard url: "/home-dashboard" diff --git a/_docs/reporting/dora-metrics.md b/_docs/dashboards/dora-metrics.md similarity index 91% rename from _docs/reporting/dora-metrics.md rename to _docs/dashboards/dora-metrics.md index 229b2d7be..a12d01a59 100644 --- a/_docs/reporting/dora-metrics.md +++ b/_docs/dashboards/dora-metrics.md @@ -1,7 +1,7 @@ --- title: "DORA metrics" description: "Get insights into your deployments" -group: reporting +group: dashboards toc: true --- @@ -16,9 +16,9 @@ DORA measures these metrics: [Read more on DORA](https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance){:target="\_blank"}. -### DORA metrics in Codefresh +## DORA metrics in Codefresh -Monitoring DORA metrics can help identify delivery issues in your organization by detecting bottlenecks among teams, and help to optimize your workflows, at technical or organizational levels. +Monitoring DORA metrics can help identify delivery issues in your organization by detecting bottlenecks among teams and optimize your workflows at technical or organizational levels. Codefresh offers support for DORA metrics out of the box. * In the Codefresh UI, go to [DORA metrics](https://g.codefresh.io/2.0/dora-dashboard/dora){:target="\_blank"}. @@ -33,7 +33,7 @@ caption="DORA metrics report" max-width="100%" %} -### Filters +## Filters Use filters to define the exact subset of applications you are interested in. All filters support auto-complete and multi-select. More than one option within the same filter type has an OR relationship. More than one filter type when defined share an AND relationship. @@ -45,11 +45,11 @@ More than one option within the same filter type has an OR relationship. More th > When no filters are defined, all metrics are shown for the last 90 days. -### Metrics for favorite applications +## Metrics for favorite applications If you have [starred applications as favorites]({{site.baseurl}}/docs/deployment/applications-dashboard/#applications-dashboard-information) in the Applications dashboard, clicking {::nomarkdown}{:/} in DORA metrics, displays metrics only for those applications. -### Metric totals +## Metric totals As the title indicates, the Totals bar shows the total numbers, based on the filters defined, or for the last 90 days, if there are no filters: * Deployments @@ -57,7 +57,7 @@ As the title indicates, the Totals bar shows the total numbers, based on the fil * Commits/Pull Requests * Failure Rate: The number of failed deployments divided by the total number of deployments -### Metric graphs +## Metric graphs The metric graphs show performance for the DORA metrics, again based on the filters defined, or for the last 90 days, if there are no filters. In addition, you can select the granularity for each graph: @@ -80,7 +80,7 @@ In addition, you can select the granularity for each graph: **Time to Restore Service** The average number of hours taken for the status to return to Healthy after changing to Degraded or Unhealthy. The X-axis charts the time based on the granularity, and the Y-axis charts the time in hours. The number shown on the top right is the average number of hours between the previous deployment and rollback for the same application. -## What to read next -[Codefresh architecture]({{site.baseurl}}/docs/getting-started/architecture/) -[Monitoring applications]({{site.baseurl}}/docs/deployment/applications-dashboard/) +## Related articles +[Global analytics dashboard]({{site.baseurl}}/docs/dashboards/home-dashboard) +[Monitoring applications]({{site.baseurl}}/docs/deployments/gitops/applications-dashboard/) diff --git a/_docs/reporting/home-dashboard.md b/_docs/dashboards/home-dashboard.md similarity index 96% rename from _docs/reporting/home-dashboard.md rename to _docs/dashboards/home-dashboard.md index c3a402c05..be0e4e505 100644 --- a/_docs/reporting/home-dashboard.md +++ b/_docs/dashboards/home-dashboard.md @@ -1,7 +1,7 @@ --- -title: "Home dashboard" +title: "Global analytics dashboard" description: "" -group: reporting +group: dashboards toc: true --- @@ -135,8 +135,8 @@ Analytics are derived by comparing the selected date range to the corresponding |**Longest Delivery Pipelines** | Up to ten pipelines with the longest duration. The same KPIs are displayed, and compared to those in the reference period. | ### Related articles -[DORA metrics]({{site.baseurl}}/docs/reporting/dora-metrics/) -[Monitoring applications]({{site.baseurl}}/docs/deployment/applications-dashboard/) -[Images in Codefresh]({{site.baseurl}}/docs/deployment/images/) +[DORA metrics]({{site.baseurl}}/docs/dashboards/dora-metrics/) +[Monitoring applications]({{site.baseurl}}/docs/deployments/gitops/applications-dashboard/) +[Images in Codefresh]({{site.baseurl}}/docs/deployments/gitops/images/) From 71539cb6d8275854e102a9c1f4cb2681b5841e68 Mon Sep 17 00:00:00 2001 From: NimRegev Date: Mon, 12 Dec 2022 12:45:27 +0200 Subject: [PATCH 2/3] Update dora-metrics.md --- _docs/dashboards/dora-metrics.md | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/_docs/dashboards/dora-metrics.md b/_docs/dashboards/dora-metrics.md index a12d01a59..33153121d 100644 --- a/_docs/dashboards/dora-metrics.md +++ b/_docs/dashboards/dora-metrics.md @@ -35,7 +35,7 @@ max-width="100%" ## Filters -Use filters to define the exact subset of applications you are interested in. All filters support auto-complete and multi-select. +Use filters to define the exact subset of applications you are interested in. All filters support auto-complete and multiselect. More than one option within the same filter type has an OR relationship. More than one filter type when defined share an AND relationship. * Runtimes: Show metrics for applications from selected runtimes @@ -46,7 +46,7 @@ More than one option within the same filter type has an OR relationship. More th > When no filters are defined, all metrics are shown for the last 90 days. ## Metrics for favorite applications -If you have [starred applications as favorites]({{site.baseurl}}/docs/deployment/applications-dashboard/#applications-dashboard-information) in the Applications dashboard, clicking {::nomarkdown}{:/} in DORA metrics, displays metrics only for those applications. +If you have [starred applications as favorites]({{site.baseurl}}/docs/deployment/applications-dashboard/#applications-dashboard-information) in the Applications dashboard, clicking {::nomarkdown}{:/} in DORA metrics, displays DORA metrics only for those applications. ## Metric totals @@ -58,7 +58,7 @@ As the title indicates, the Totals bar shows the total numbers, based on the fil * Failure Rate: The number of failed deployments divided by the total number of deployments ## Metric graphs -The metric graphs show performance for the DORA metrics, again based on the filters defined, or for the last 90 days, if there are no filters. +The metric graphs are key to performance insights with DORA metrics. The metrics are again based on the filters defined, or for the last 90 days if there are no filters. In addition, you can select the granularity for each graph: @@ -66,19 +66,25 @@ In addition, you can select the granularity for each graph: * Weekly * Monthly - +>Tip: + Remember that the graphs for the DORA metrics reflect metrics of application deployments, not workflows. **Deployment Frequency** - The frequency of deployments of any kind, successful or failed. Deployment is considered an Argo CD sync where there was a change. The X-axis charts the time based on the granularity, and the Y-axis charts the number of deployments. The number shown on the top right is the average deployment frequency based on granularity. - -**Change failure rate** - The failure or rollback rate in percentage for deployments. Derived by dividing the failed/rollback deployments by the total number of deployments. Failed deployments are those Argo CD deployments that lead to a sync state of Degraded. The X-axis charts the time based on the granularity, and the Y-axis charts the failure rate. The number shown on the top right is the average failure rate based on granularity, and therefore may not be equal to the Total Failure Rate. + The frequency at which applications are deployed to production, including both successful (Healthy) and failed (Degraded), deployments. A deployment is considered an Argo CD sync where there was a change in the application source code that resulted in a new deployment of the application to production. + The X-axis charts the time based on the granularity selected, and the Y-axis charts the number of deployments. The number shown on the top right is the average deployment frequency based on granularity. **Lead Time for Changes** - The average number of days from the first commit for a pull request until the deployment date for the same pull request. The X-axis charts the time based on the granularity, and the Y-axis charts the time in minutes until the deployment. The number shown on the top right is the average number of days for a commit to reach production. + The average number of days from the first commit for a PR (pull request) until the deployment date for the same PR. Only those changes to workflows that result in a deployment are included when calculating Lead Time for Changes. Making a change to a repo may not necessarily be considered as a change if it does not result in a deployment, and is therefore not included when calculating Lead Time for Changes. + The X-axis charts the time based on the granularity selected, and the Y-axis charts the time in minutes until the deployment. The number shown on the top right is the average number of days for a commit to reach production. + +**Change Failure Rate** + The failure or rollback rate in percentage for applications whose health status changed to Degraded on deployment. For example, bumping an image tag with one that doesn't exist, results in the application being Degraded on deployment, and is designated as a failure. The Change Failure Rate is derived by dividing the number of Degraded (failed/rollback) deployments with the total number of deployments. + The X-axis charts the time based on the granularity selected, and the Y-axis charts the failure rate. The number shown on the top right is the average failure rate based on granularity, and therefore may not be equal to the Total Failure Rate. **Time to Restore Service** - The average number of hours taken for the status to return to Healthy after changing to Degraded or Unhealthy. The X-axis charts the time based on the granularity, and the Y-axis charts the time in hours. The number shown on the top right is the average number of hours between the previous deployment and rollback for the same application. + The average number of hours taken for the status of Degraded deployments to return to Healthy. Again, similar to the Change Failure Rate, Time to Restore Service includes only Degraded deployments. It is derived by dividing the total number of hours for all Degraded + deployments that turned + The X-axis charts the time based on the granularity, and the Y-axis charts the time in hours. The number shown on the top right is the average number of hours between the previous deployment and rollback for the same application. ## Related articles [Global analytics dashboard]({{site.baseurl}}/docs/dashboards/home-dashboard) From d83d5c68a65f4aec858131a826d900643466279f Mon Sep 17 00:00:00 2001 From: NimRegev Date: Thu, 29 Dec 2022 15:12:33 +0200 Subject: [PATCH 3/3] Update dashboards --- _data/home-content.yml | 135 ------------------- _data/nav.yml | 221 ------------------------------- _docs/dashboards/dora-metrics.md | 10 +- 3 files changed, 5 insertions(+), 361 deletions(-) diff --git a/_data/home-content.yml b/_data/home-content.yml index 3e07cba9b..fe7174453 100644 --- a/_data/home-content.yml +++ b/_data/home-content.yml @@ -1,80 +1,6 @@ -- title: Getting Started - icon: images/home-icons/started.svg - url: '' - links: - - title: Introducing Codefresh - localurl: /docs/getting-started/csdp-introduction/ - - title: Quick start - localurl: /docs/getting-started/quick-start/ - - title: Concepts - localurl: /docs/getting-started/main-concepts/ - - title: Entity model - localurl: /docs/getting-started/entity-model/ - - title: Architecture - localurl: /docs/getting-started/architecture/ - - title: GitOps approach - localurl: /docs/getting-started/gitops/ - - title: Frequently asked questions - localurl: /docs/getting-started/faq/ -- title: Clients - icon: images/home-icons/client.svg - url: '' - links: - - title: Codefresh CLI - localurl: /docs/clients/csdp-cli/ -- title: Installation - icon: images/home-icons/runtimes.svg - url: '' - links: - - title: Installation environments - localurl: /docs/runtime/installation-options/ - - title: Set up a hosted runtime environment - localurl: /docs/runtime/hosted-runtime/ - - title: Hybrid runtime requirements - localurl: /docs/runtime/requirements/ - - title: Install hybrid runtimes - localurl: /docs/runtime/installation - - title: Manage provisioned runtimes - localurl: /docs/runtime/monitor-manage-runtimes/ - - title: Monitor provisioned hybrid runtimes - localurl: /docs/runtime/monitoring-troubleshooting/ - - title: Add external clusters to runtimes - localurl: /docs/runtime/managed-cluster/ - - title: Add Git Sources to runtimes - localurl: /docs/runtime/git-sources/ - -- title: Pipelines - icon: images/home-icons/pipeline.svg - url: '' - links: - - title: Creation - localurl: /docs/pipelines/create-pipeline - - title: Configure artifact repository - localurl: /docs/pipelines/configure-artifact-repository/ - - title: Selectors for concurrency synchronization - localurl: /docs/pipelines/concurrency-limit/ - - title: Sharing file systems - localurl: /docs/pipelines/sharing-file-system/ - - -- title: Deployment - icon: images/home-icons/deployment.svg - url: '' - links: - - title: Creating applications - localurl: /docs/deployment/create-application/ - - title: Monitoring applications - localurl: /docs/deployment/applications-dashboard/ - - title: Managing applications - localurl: /docs/deployment/manage-application/ - - title: Images in Codefresh - localurl: /docs/deployment/images/ - - title: Install Argo Rollouts - localurl: /docs/deployment/install-argo-rollouts/ - - title: Dashboards & insights icon: images/home-icons/guides.png @@ -86,68 +12,7 @@ localurl: /docs/dashboards/dora-metrics/ -- title: Image enrichment - icon: images/home-icons/integrations.svg - url: '' - links: - - title: Image enrichment with integrations - localurl: /docs/integrations/image-enrichment-overview/ - - title: Codefresh Classic - localurl: /docs/integrations/ci-integrations/codefresh-classic/ - - title: GitHub Actions - localurl: /docs/integrations/ci-integrations/github-actions/ - - title: Jenkins - localurl: /docs/integrations/ci-integrations/jenkins/ - - title: Jira - localurl: /docs/integrations/issue-tracking/jira/ - - title: Amazon ECR - localurl: /docs/integrations/container-registries/amazon-ecr/ - - title: Docker Hub Registry - localurl: /docs/integrations/container-registries/dockerhub/ - - title: GitHub Container Registry - localurl: /docs/integrations/container-registries/github-cr/ - - title: JFrog Artifactory - localurl: /docs/integrations/container-registries/jfrog/ - - title: Quay Registry - localurl: /docs/integrations/container-registries/quay/ - - -- title: Administration - icon: images/home-icons/administration.svg - url: '' - links: - - title: Manage users - localurl: /docs/administration/add-users/ - - title: Single Sign-On - localurl: /docs/administration/single-sign-on/ - - title: Set up OAuth2 authentication for Git providers - localurl: /docs/administration/oauth-setup/ - - title: User settings - localurl: /docs/administration/user-settings/ - - title: Access Control - localurl: /docs/administration/access-control/ - - title: Audit - localurl: /docs/administration/audit/ - - title: Codefresh IP addresses - localurl: /docs/administration/platform-ip-addresses/ -- title: Reference - icon: images/home-icons/guides.png - url: '' - links: - - title: Git tokens - localurl: /docs/reference/git-tokens/ - - title: Secrets - localurl: /docs/reference/secrets - - title: Shared configuration repo - localurl: /docs/reference/shared-configuration/ - -- title: Troubleshooting - icon: images/home-icons/troubleshooting.svg - url: '' - links: - - title: Runtimes - localurl: /docs/troubleshooting/runtime-issues diff --git a/_data/nav.yml b/_data/nav.yml index 9e3ed8915..f481adde1 100644 --- a/_data/nav.yml +++ b/_data/nav.yml @@ -1,97 +1,5 @@ -- title: Getting started - url: "/getting-started" - pages: - - title: Introducing Codefresh - url: "/csdp-introduction" - - title: Quick start - url: "/quick-start" - sub-pages: - - title: Provision a hosted runtime - url: "/install-hosted" - - title: Prepare for hybrid runtime installation - url: "/verify-requirements" - - title: Install a hybrid runtime - url: "/runtime" - - title: Create an application - url: "/create-app-ui" - - title: Create and commit resources for application - url: "/create-app-specs" - - title: Update the image tag for application - url: "/create-rollout" - - title: Trigger the Hello World example pipeline - url: "/hello-world" - - title: Create a basic CI delivery pipeline - url: "/create-ci-pipeline" - - - - title: Main concepts - url: "/main-concepts" - - title: Entity model - url: "/entity-model" - - title: Architecture - url: "/architecture" - - title: GitOps approach - url: "/gitops" - - title: Frequently asked questions - url: "/faq" - -- title: Clients - url: "/clients" - pages: - - title: Download CLI - url: "/csdp-cli" -- title: Installation - url: "/runtime" - pages: - - title: Installation environments - url: "/installation-options" - - title: Set up a hosted runtime environment - url: "/hosted-runtime" - - title: Hybrid runtime requirements - url: "/requirements" - - title: Install hybrid runtimes - url: "/installation" - - title: Manage provisioned runtimes - url: "/monitor-manage-runtimes" - - title: Monitor provisioned hybrid runtimes - url: "/monitoring-troubleshooting" - - title: Add external clusters to runtimes - url: "/managed-cluster" - - title: Add Git Sources to runtimes - url: "/git-sources" - - -- title: Pipelines - url: "/pipelines" - pages: - - title: Creation - url: "/create-pipeline" - - title: Configure artifact repository - url: "/configure-artifact-repository" - - title: Selectors for concurrency synchronization - url: "/concurrency-limit" - - title: Sharing file systems - url: "/sharing-file-system" - - title: Nested workflows - url: "/nested-workflows" - - -- title: Deployment - url: "/deployment" - pages: - - title: Creating applications - url: "/create-application" - - title: Monitoring applications - url: "/applications-dashboard" - - title: Managing applications - url: "/manage-application" - - title: Images in Codefresh - url: "/images" - - title: Install Argo Rollouts - url: "/install-argo-rollouts" - - title: Dashboards & Insights url: "/dashboards" pages: @@ -101,133 +9,4 @@ url: "/dora-metrics" -- title: Image enrichment - url: "/integrations" - pages: - - title: Image enrichment with integrations - url: "/image-enrichment-overview" - - title: CI integrations - url: "/ci-integrations" - sub-pages: - - title: Codefresh Classic - url: "/codefresh-classic" - - title: GitHub Actions - url: "/github-actions" - - title: Jenkins - url: "/jenkins" - - title: Issue tracking - url: "/issue-tracking" - sub-pages: - - title: Jira - url: "/jira" - - title: Container registries - url: "/container-registries" - sub-pages: - - title: Amazon ECR - url: "/amazon-ecr" - - title: Docker Hub Registry - url: "/dockerhub" - - title: GitHub Container Registry - url: "/github-cr" - - title: JFrog Artifactory - url: "/jfrog" - - title: Quay Registry - url: "/quay" - - -- title: Administration - url: "/administration" - pages: - - title: Account and user management - sub-pages: - - title: Adding a Codefresh account - url: "/create-codefresh-account" - - title: Adding users to accounts - url: "/add-users" - - title: Configure access Control - url: "/access-control" - - title: Setting up OAuth2 authentication for Git providers - url: "/oauth-setup" - - title: Authorize access to organizations/projects - url: "/hosted-authorize-orgs" - - title: Audit in Codefresh - url: "/audit" - - title: Codefresh IP addresses - url: "/platform-ip-addresses" - - title: User self-management - sub-pages: - - title: User settings - url: "/user-settings" - - title: Configuring Git authentication - url: "/manage-pats" - -- title: Single Sign-On - url: /single-sign-on - pages: - - title: Common configuration - url: /team-sync - - title: OpenID Connect - url: /oidc - sub-pages: - - title: Auth0 - url: /oidc-auth0 - - title: Azure - url: /oidc-azure - - title: Google - url: /oidc-google - - title: Okta - url: /oidc-okta - - title: OneLogin - url: /oidc-onelogin - - title: SAML - url: /saml - sub-pages: - - title: JumpCloud - url: /saml-jumpcloud - - title: Okta - url: /saml-okta - - title: OneLogin - url: /saml-onelogin - - title: PingID SSO - url: /saml-pingid - - title: LDAP - url: /ldap - - - - - - -- title: Reference - url: "/reference" - pages: - - title: Git tokens - url: "/git-tokens" - - title: Secrets - url: "/secrets" - - title: Shared configuration repo - url: "/shared-configuration" - -- title: What's New? - url: "/whats-new" - pages: - - title: What's new in Codefresh? - url: "/whats-new" - -- title: Troubleshooting - url: "/troubleshooting" - pages: - - title: Runtimes - url: "/runtime-issues" - - -- title: Terms and Privacy Policy - url: "/terms-and-privacy-policy" - pages: - - title: Terms of Service - url: "/terms-of-service" - - title: Privacy Policy - url: "/privacy-policy" - - title: Service Commitment - url: "/sla" diff --git a/_docs/dashboards/dora-metrics.md b/_docs/dashboards/dora-metrics.md index 33153121d..6230c340d 100644 --- a/_docs/dashboards/dora-metrics.md +++ b/_docs/dashboards/dora-metrics.md @@ -36,7 +36,7 @@ max-width="100%" ## Filters Use filters to define the exact subset of applications you are interested in. All filters support auto-complete and multiselect. -More than one option within the same filter type has an OR relationship. More than one filter type when defined share an AND relationship. +More than one option within the same filter type has an OR relationship. Multiple filter types when defined share an AND relationship. * Runtimes: Show metrics for applications from selected runtimes * Clusters: Show metrics for applications deployed to selected clusters @@ -74,16 +74,16 @@ In addition, you can select the granularity for each graph: The X-axis charts the time based on the granularity selected, and the Y-axis charts the number of deployments. The number shown on the top right is the average deployment frequency based on granularity. **Lead Time for Changes** - The average number of days from the first commit for a PR (pull request) until the deployment date for the same PR. Only those changes to workflows that result in a deployment are included when calculating Lead Time for Changes. Making a change to a repo may not necessarily be considered as a change if it does not result in a deployment, and is therefore not included when calculating Lead Time for Changes. + The average number of days from the first commit for a PR (pull request) until the deployment date for the same PR. The key term here is _deployment_. Lead Time for Changes considers only those changes to workflows that result in a deployment. Making a change to a repo that does not result in a deployment is not included when calculating Lead Time for Changes. The X-axis charts the time based on the granularity selected, and the Y-axis charts the time in minutes until the deployment. The number shown on the top right is the average number of days for a commit to reach production. **Change Failure Rate** - The failure or rollback rate in percentage for applications whose health status changed to Degraded on deployment. For example, bumping an image tag with one that doesn't exist, results in the application being Degraded on deployment, and is designated as a failure. The Change Failure Rate is derived by dividing the number of Degraded (failed/rollback) deployments with the total number of deployments. + The failure or rollback rate in percentage for applications whose health status changed to Degraded on deployment. The key term here is _on deployment_. For example, bumping an image tag with one that does not exist, results in the application being Degraded on deployment, and designated as failed. + The Change Failure Rate is derived by dividing the number of Degraded (failed/rollback) deployments with the total number of deployments. The X-axis charts the time based on the granularity selected, and the Y-axis charts the failure rate. The number shown on the top right is the average failure rate based on granularity, and therefore may not be equal to the Total Failure Rate. **Time to Restore Service** - The average number of hours taken for the status of Degraded deployments to return to Healthy. Again, similar to the Change Failure Rate, Time to Restore Service includes only Degraded deployments. It is derived by dividing the total number of hours for all Degraded - deployments that turned + The average number of hours taken for the status of Degraded deployments to return to Healthy. Again, similar to the Change Failure Rate, Time to Restore Service includes only deployments that became Degraded. It is derived by dividing the total number of hours for all Degraded deployments to return to Healthy by the total number of Degraded deployments. The X-axis charts the time based on the granularity, and the Y-axis charts the time in hours. The number shown on the top right is the average number of hours between the previous deployment and rollback for the same application. ## Related articles