Skip to content

Track SLO for both initial response and resolution, not counting time spend in NEEDS_WORK #4634

@jrobbins

Description

@jrobbins

Right now we have an SLO for a reviewer's initial response based on the requested_on timestamp and the current time vs. a limit slo_initial_response defined in the GateType. When a reviewer gives any vote or comment, we set responded_on at that time.

Now, we will also calculate a time for resolution and set resolved_on when a gate becomes NA, APPROVED, or DENIED. That will be compared against a new slo_resolution limit defined in the GateType.

Unlike the initial response, the resolution can be delayed by work needing to be done by the feature owner rather than the reviewers. To track the time spent in the NEEDS_WORK state, we will use new fields needs_work_started_on and needs_work_elapsed.

Steps:

  • Define fields resolved_on, needs_work_started_on, and needs_work_elapsed and the logic to set them.
  • Use the new fields to calculate a value for the elapsed days spent out of a new slo_resolution limit.
  • Display both SLOs at the top of the gate column, and highlight reviews that are overdue by either measure.
  • Send notification emails to reviewers for reviews that have reached the limit for the resolution SLO.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions