Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release-23.1: build: add microbenchmark script for roachprod-microbench #102966

Closed

Conversation

herkolategan
Copy link
Collaborator

Backport 1/1 commits from #96723.

/cc @cockroachdb/release


Add a new nightlies teamcity build script that utilises the dev test-binaries and the roachprod-microbench command. The script can be used to store a microbenchmarks checkpoint for a given git revision to a bucket in gcs, by specifying a publish path. A roachprod cluster is created by the script, as specified by environment variables. The clean-up is managed by TeamCity.

Alternatively two binaries can be compared by supplying the related comparison binaries environment variables. This compare directory should be omitted in this case. The script requires a gcs path to download the comparison binaries from. The running time will be considerably longer, but there will be less variance in the results.

Subsequent runs can then be made with the same script to compare against a previous checkpoint, by supplying a compare path. The script takes numerous environment variables to configure the microbenchmarks cluster and arguments. These can be tweaked to configure different run variations and packages to target.

Resolves: #93893
See also: #90837, #91184

Epic: CRDB-20903

Release note: None

Add a new weekly teamcity build script that utilises the `dev test-binaries`
and the `roachprod-microbench` command. The script can be used to store a
microbenchmarks checkpoint for a given `git` revision to a bucket in gcs, by
specifying a publish path. A `roachprod` cluster is created by the script, as
specified by environment variables. The clean-up is managed by TeamCity.

Alternatively two binaries can be compared by supplying the related comparison
binaries environment variables. The compare directory should be omitted in this
case. The script requires a gcs path to download the comparison binaries from.
The running time will be considerably longer, but there will be less variance in
the results.

Subsequent runs can then be made with the same script to compare against a
previous checkpoint, by supplying a compare path. The script takes numerous
environment variables to configure the microbenchmarks cluster and arguments.
These can be tweaked to configure different run variations and packages to
target.

Resolves: cockroachdb#93893
See also: cockroachdb#90837, cockroachdb#91184

Epic: CRDB-20903

Release note: None
@herkolategan herkolategan requested a review from a team as a code owner May 9, 2023 17:34
@blathers-crl
Copy link

blathers-crl bot commented May 9, 2023

Thanks for opening a backport.

Please check the backport criteria before merging:

  • Patches should only be created for serious issues or test-only changes.
  • Patches should not break backwards-compatibility.
  • Patches should change as little code as possible.
  • Patches should not change on-disk formats or node communication protocols.
  • Patches should not add new functionality.
  • Patches must not add, edit, or otherwise modify cluster versions; or add version gates.
If some of the basic criteria cannot be satisfied, ensure that the exceptional criteria are satisfied within.
  • There is a high priority need for the functionality that cannot wait until the next release and is difficult to address in another way.
  • The new functionality is additive-only and only runs for clusters which have specifically “opted in” to it (e.g. by a cluster setting).
  • New code is protected by a conditional check that is trivial to verify and ensures that it only runs for opt-in clusters.
  • The PM and TL on the team that owns the changed code have signed off that the change obeys the above rules.

Add a brief release justification to the body of your PR to justify this backport.

Some other things to consider:

  • What did we do to ensure that a user that doesn’t know & care about this backport, has no idea that it happened?
  • Will this work in a cluster of mixed patch versions? Did we test that?
  • If a user upgrades a patch version, uses this feature, and then downgrades, what happens?

@cockroach-teamcity
Copy link
Member

This change is Reviewable

@srosenberg srosenberg self-requested a review May 12, 2023 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants