Infrastructure bottlnecks are detriemental to timely release of software. In this article, we discuss the importance of identifying infrastructure bottlenecks in code review process and how using approval to merge charts can help. We will also explore how to set acceptable and unacceptable thresholds for approval to merge time, identify outliers, investigate issues, and optimize build and integration infrastructure.
Understanding Approval to Merge Charts: A Comprehensive Overview
Approval to Merge Charts give us a clear understanding of how much time it takes to merge a PR once it's been reviewed. The chart includes time spent scheduling PRs, building PRs, running integration tests, security checks, and merging them into the mainline. By understanding Approval to Merge Charts, teams can identify issues such as long scheduling times due to the PR load, infrastructure failures, inadequate testing before sending PRs, and insufficient infrastructure resources.
Approval to merge chart aggregates the time it takes to merge PRs and classifies it into three buckets based on acceptable and unacceptable thresholds that can be set by the managers.Approval to Merge Charts show us the percentage of PRs that were merged within acceptable time, the percentage of PRs that were not merged within the target threshold but were still within the acceptable range, and the percentage of PRs that were merged outside the acceptable range.
Identifying Infrastructure Bottlenecks: Analyzing Outliers and Investigating Issues
By analyzing these outliers, we can identify infrastructure bottlenecks and investigate the issues causing the delays.
- For PRs merged outside unacceptable threshold we should investigate and see if there is a reasonable explanation for outliers or some action is required in terms of adding resources to the infrastructure.
- We should also look at the percentage of prs falling outside target range, if it is too high than it might be an early indication of stress on infrastructure which if not addressed would turn into unacceptable delays in merging future prs.
Setting Thresholds: Determining Acceptable and Unacceptable Ranges for PR Merging Time
Setting thresholds for PR merging time is essential for identifying acceptable and unacceptable time ranges. Thresholds vary between projects and companies, and it's important to consider infrastructure costs when setting them. Teams need to analyze their data and set realistic thresholds for their specific context.
In some companies 6-9 hours of merge window might be acceptable and in other companies merge window of 1-2 days may be acceptable. One should also note that no company has infinite resources so we need to look at infrastructure cost that we are willing to bear and adjust our thresholds accordingly.
It is possible that even though some issues are falling in unacceptable levels it is expected outcome as multiple features are released as part of some milestone which can lead to delays because of unusual load on build/integration infra.
Conclusion
By collecting data on the code review process and analyzing it to identify bottlenecks in infrastructure, teams can optimize their processes for greater efficiency and deliver higher quality code more quickly. Teams can use PR to Merge Charts to continuously improve their processes and identify areas where resources need to be added to optimize infrastructure.
Using Approval to Merge Charts is an essential tool for identifying infrastructure bottlenecks, setting thresholds, analyzing outliers, investigating issues, and optimizing code review processes. By using data-driven insights to identify and fix issues, teams can deliver high-quality code more quickly and efficiently.