Display performance deltas between app deployments on Merge Request workflow
Resources
Description
With GitLab now supporting integration with Prometheus and Kubernetes, we can begin to provide some more intelligent analytics based on what we know about a customers deployments and commits, fused with the performance data. This will be built upon what we have already done with #26944 (closed).
Proposal
When a pipeline with a new commit is run and deployed to an environment, we now can start reporting on the differences in performance before and after the new code was deployed.
We should calculate the average of the collected metrics from 30 minutes prior to the deployment, and compare them with the metrics collected for the next 30 minutes after the deployment. This should provide enough time for caches to be warmed up, code to be deployed, and other one time effects. If we find it necessary, we can ignore metrics for the first X minutes, to not color the results.
We should then display this data directly on the Merge Request page, in order to clearly display performance deltas between deployments. An example of what the UI should look like is included below, illustrating memory usage.
Documentation blurb
(Add to MR sparkline documentation) Also displayed is the average memory consumption for the 30 minutes before and after the change has been deployed, including the percentage difference.