From 57f390c41d491cc18847a70abae9c6be825029f4 Mon Sep 17 00:00:00 2001 From: Jason Andrews Date: Fri, 26 Jun 2026 17:11:45 -0500 Subject: [PATCH] Tech review of Gerrit Learning Path --- .../gerrit-on-gcp/_index.md | 10 ++++++++++ .../gerrit-on-gcp/background.md | 4 ++-- .../gerrit-on-gcp/benchmarking.md | 14 ++++++++++---- .../gerrit-on-gcp/firewall_setup.md | 2 +- .../gerrit-on-gcp/installation.md | 13 +++++++------ .../gerrit-on-gcp/instance.md | 4 ++-- 6 files changed, 32 insertions(+), 15 deletions(-) diff --git a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/_index.md b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/_index.md index cbbb6ca670..b8d079fc36 100644 --- a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/_index.md @@ -51,6 +51,16 @@ further_reading: link: https://gerrit-review.googlesource.com/Documentation/ type: documentation + - resource: + title: Getting started with Google Cloud Platform + link: /learning-paths/servers-and-cloud-computing/csp/google/ + type: website + + - resource: + title: Gerrit 3.14 release notes + link: https://www.gerritcodereview.com/3.14.html + type: documentation + weight: 1 layout: "learningpathall" learning_path_main_page: "yes" diff --git a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/background.md b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/background.md index 398b02946c..987bbb428c 100644 --- a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/background.md +++ b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/background.md @@ -1,5 +1,5 @@ --- -title: Get started with Gerrit on Google Axion C4A +title: About Gerrit and Google Axion C4A weight: 2 @@ -20,4 +20,4 @@ Gerrit is an open-source, web-based code review system for Git repositories that To learn more, start with the official Gerrit site and documentation, especially the product overview and user guide, which explain how Gerrit fits into a development workflow and how to review, upload, and manage changes. -For more information on [Gerrit](https://gerrit-review.googlesource.com/Documentation/intro-gerrit-walkthrough-github.html) +There is also a [Basic Gerrit Walkthrough — For GitHub Users](https://gerrit-review.googlesource.com/Documentation/intro-gerrit-walkthrough-github.html) which explains the core principles of code review in Gerrit compared to pull requests. diff --git a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/benchmarking.md b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/benchmarking.md index 6906394e20..56e9619a36 100644 --- a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/benchmarking.md +++ b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/benchmarking.md @@ -6,9 +6,9 @@ weight: 6 layout: learningpathall --- +## Overview -## Overview -This section guides you through benchmarking basic Gerrit performance on our Axiom VM. The benchmark consists of a custom script that will exercise and time key Gerrit features/functions. +This section guides you through benchmarking basic Gerrit performance on your Axion VM. The benchmark consists of a custom script that will exercise and time key Gerrit features/functions. ## Download and Install the benchmarking script @@ -126,7 +126,7 @@ are all present: ![Charts and graphs showing the Gerrit benchmark performance summary including operation counts, success rates, and latency metrics across the four 120-second test steps.#center](images/analysis.png "Gerrit Benchmark Summary") Client-visible correctness is excellent: all 47,863 measured operations succeeded. REST query latency remains low -with p99 69 ms. Clone is the dominant pressure point at p99 521 ms, and push remains sub-second at p99 288 ms: +with a p99 of 69 ms. Clone is the dominant pressure point at a p99 of 521 ms, and push remains sub-second at a p99 of 288 ms: ![Performance metrics showing client-side operation summary with statistics for git_clone, git_push_refs_for, and rest_change_query operations, including latency percentiles and success rates.#center](images/client-summary.png "Client-side Operation Summary") @@ -146,4 +146,10 @@ Gerrit server-side correlation observations: Basic Server Metrics: -![Server metrics dashboard showing host resource utilization metrics including memory, disk I/O, and other system-level performance indicators during the benchmark run.#center](images/server-metrics.png "Basic Additional Server Metrics") \ No newline at end of file +![Server metrics dashboard showing host resource utilization metrics including memory, disk I/O, and other system-level performance indicators during the benchmark run.#center](images/server-metrics.png "Basic Additional Server Metrics") + +## What you've accomplished + +You have successfully deployed Gerrit on a Google Cloud C4A Axion Arm64 VM running Ubuntu 24.04 LTS, verified the web console, and measured its performance using a production-like benchmark profile. All operations completed with zero failures, and the results establish a practical capacity baseline for a single-node Gerrit deployment on Arm-based infrastructure. + +To build on this foundation, you can explore multi-node Gerrit deployments, tune JVM flags for the Neoverse-V2 core, or compare performance across different C4A instance sizes to find the right balance of cost and throughput for your team's workload. \ No newline at end of file diff --git a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/firewall_setup.md b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/firewall_setup.md index 082866aef1..18038bbc32 100644 --- a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/firewall_setup.md +++ b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/firewall_setup.md @@ -8,7 +8,7 @@ layout: learningpathall ## Overview -In this section you'll learn how to create a firewall rule in Google Cloud Console to allow traffic on TCP port 8080. This step is required for the Learning Path to ensure your Gerrit deployment is accessible. +This step creates a firewall rule in Google Cloud Console to allow incoming TCP traffic on port 8080, which is required for your Gerrit deployment to be accessible. {{% notice Note %}} If you need help setting up Google Cloud Platform (GCP), see the Learning Path [Getting started with Google Cloud Platform](/learning-paths/servers-and-cloud-computing/csp/google/). diff --git a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/installation.md b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/installation.md index 664e4ac33e..44bd30850d 100644 --- a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/installation.md +++ b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/installation.md @@ -7,23 +7,22 @@ layout: learningpathall --- ## Install Gerrit on GCP VM + This section walks you through how to install and configure Gerrit Server on a GCP Linux VM (Ubuntu 24.04 LTS based VM). To ensure a successful setup, follow each step in order and check the output after each command. This helps you catch issues early and confirms that Gerrit is installed and running correctly. ## Set up your environment + Before installing Gerrit, update the system and install the required tools: ```console -sudo apt update -sudo apt -y dist-upgrade -sudo apt install -y wget curl default-jdk git net-tools -sudo apt install -y python3-pip python3-venv python3-dev pipenv sudo apt update && sudo apt upgrade -y -sudo apt install ca-certificates curl gnupg wget -y +sudo apt install -y wget default-jdk git net-tools ``` ## Download and Setup/Install Gerrit server + Download the Gerrit server package for ARM64 architecture. ```console @@ -33,11 +32,13 @@ java -jar gerrit.war init -d ${HOME}/gerrit --dev --batch --install-all-plugins ``` ## Verify service status: + ```console ps -ef | grep Gerrit ``` You should see similar output: + ```output doug_an+ 11807 1 18 21:01 ? 00:00:14 GerritCodeReview -Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance -Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance -jar /home/doug_anson_arm_com/gerrit/bin/gerrit.war daemon -d /home/doug_anson_arm_com/gerrit --run-id=1781730091.11737 ``` @@ -74,4 +75,4 @@ You should see output similar to this: ![Gerrit web console dashboard showing the main interface with navigation menu and project/change options available.#center](images/gerrit-dashboard.png "Gerrit Dashboard") -In the next section, basic performance testing of Gerrit will be performed. +In the next section, you will benchmark Gerrit performance on your Arm VM. diff --git a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/instance.md b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/instance.md index 9ad0850e26..79d61edef8 100644 --- a/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/instance.md +++ b/content/learning-paths/servers-and-cloud-computing/gerrit-on-gcp/instance.md @@ -8,7 +8,7 @@ layout: learningpathall ## Overview -In this section, you will learn how to provision a Google Axion C4A Arm virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-4` (4 vCPUs, 16 GB memory) machine type in the Google Cloud Console. +Provision a Google Axion C4A Arm virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-4` machine type (4 vCPUs, 16 GB memory) in the Google Cloud Console. {{% notice Note %}} For support on GCP setup, see the Learning Path [Getting started with Google Cloud Platform](/learning-paths/servers-and-cloud-computing/csp/google/). @@ -46,4 +46,4 @@ A window from your browser should come up and you should now see a shell into yo ![Browser-based terminal window showing an active shell session on the Ubuntu VM instance. The command prompt is ready for input. This demonstrates successful connection to your C4A Arm virtual machine on Google Cloud.#center](images/gcp-shell.png "Terminal shell in your VM instance") -Next, let's install Gerrit! +You are now ready to install Gerrit.