Skip to content

Promotion charts

Four widgets chart the delivery of one promotion level on one branch. They all share the same configuration shape, and the same charts are shown on the page of the promotion level.

Key Chart What it charts
home/PromotionLeadTimeChart Lead time to promotion The time from the creation of a build to its first promotion at the level.
home/PromotionFrequencyChart Promotion frequency The number of promotions at the level.
home/PromotionStabilityChart Promotion success rate The percentage of the builds which were promoted at the level.
home/PromotionTTRChart Promotion time to restore How long it takes to promote again once builds stop being promoted.

How the charts are computed

The charts are computed from the same samples as the readings of the delivery scorecard, with the promotion level as marker and its branch as scope, and then bucketed by period. A chart over the window of a reading holds the reading's samples.

Lead time to promotion
From the creation of a build to its first promotion run at the level. A build is counted in the period where it was first promoted. Each period shows the mean, the 90th percentile and the maximum — where the reading gives the median.
Promotion frequency
Every promotion run at the level, counted in the period where it happened.
Promotion success rate
The builds of the branch, counted in the period of their creation: 100% when promoted at the level, 0% when not. The builds in flight at the end of the charted interval — created within the median lead time of the interval before its end — are left out: they have not had the time to be promoted yet.
Promotion time to restore
An outage starts with the first unpromoted build following a promoted one, and ends with the next promotion. For B1 promoted, then B2, B3 and B4 not promoted, then B5 promoted, the time to restore goes from the creation of B2 to the promotion of B5. An outage is counted in the period where it was restored; an outage still going on is not charted. Each period shows the mean, the 90th percentile and the maximum.

Changed in 6.0

  • The time to restore used to start at the last unpromoted build before the promotion — B4 in the example above. It now starts at the first one, so an outage longer than one broken build reads longer than it did.
  • The lead time used to be counted in the period of the build's creation, and for every promotion run of the build. It is now counted in the period of its first promotion.
  • The success rate used to count every build of the interval, including the ones just created. It now leaves out the builds in flight.

See Migration to V6.

Configuration

Field Type Description
project string Project name.
branch string Branch name.
promotionLevel string Promotion level name.
interval string Time window to display, back from now: a number and a unit, d, w, m (months) or y (e.g. "3m", the default).
period string Bucket size for the chart, with the same units (e.g. "1w", the default, or "1d").

When the promotion level is missing

The widget resolves the promotion level by name every time it is displayed. If the configured project, branch or promotion level does not exist any more, the widget title still names the configuration, marked as (not found), and the widget body says what is missing instead of a chart. Edit the dashboard and reconfigure the widget to point it at an existing promotion level.

Example

- key: "home/PromotionLeadTimeChart"
  layout: {x: 0, y: 0, w: 6, h: 30}
  config:
    project: "Backend"
    branch: "main"
    promotionLevel: "PRODUCTION"
    interval: "3m"
    period: "1w"