Skip to content

Add tiny load testing script #8310

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

Merged
merged 3 commits into from
Feb 24, 2022
Merged

Add tiny load testing script #8310

merged 3 commits into from
Feb 24, 2022

Conversation

mads-hartmann
Copy link
Contributor

@mads-hartmann mads-hartmann commented Feb 18, 2022

Description

This introduces a tiny script for running load tests against our VM-based preview environments. It prepares a base branch with an empty commit that contains /werft with-vm and then pushes as many branches as you have requested so that Werft will run the build job and thus create a VM and deploy Gitpod to it.

The base branch is based off the current branch, that means you can use this to create load tests based on whatever is configured on your branch. E.g. if we wanted to run the load test using a separate VM image than what we have on main then we'd just create a branch where we switch the VM image and then run the load script from that branch.

Related Issue(s)

Fixes https://github.com/gitpod-io/ops/issues/1215

How to test

If you just want to try it out you can use it to trigger a single VM with the following.

./dev/preview/test/load-test.sh --base-branch-name your-name-vm-load-test --start 1 --end 1

I have used this script quite a few times to run small loads tests against Harvester. You can see one analysis of running the script here (internal link).

Release Notes

NONE

Documentation

N/A

@codecov
Copy link

codecov bot commented Feb 18, 2022

Codecov Report

Merging #8310 (c62a0d8) into main (0f1aaa7) will decrease coverage by 1.13%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #8310      +/-   ##
==========================================
- Coverage   12.31%   11.17%   -1.14%     
==========================================
  Files          20       18       -2     
  Lines        1161      993     -168     
==========================================
- Hits          143      111      -32     
+ Misses       1014      880     -134     
+ Partials        4        2       -2     
Flag Coverage Δ
components-gitpod-cli-app 11.17% <ø> (ø)
components-local-app-app-darwin-amd64 ?
components-local-app-app-darwin-arm64 ?
components-local-app-app-linux-amd64 ?
components-local-app-app-linux-arm64 ?
components-local-app-app-windows-386 ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
components/local-app/pkg/auth/pkce.go
components/local-app/pkg/auth/auth.go

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0f1aaa7...c62a0d8. Read the comment docs.

@mads-hartmann mads-hartmann force-pushed the mads/load-test branch 5 times, most recently from e4b3601 to c4f01ea Compare February 23, 2022 14:52
@roboquat roboquat added size/M and removed size/S labels Feb 23, 2022
@mads-hartmann
Copy link
Contributor Author

mads-hartmann commented Feb 23, 2022

/werft run

👍 started the job as gitpod-build-mads-load-test.8

@mads-hartmann mads-hartmann requested a review from a team February 23, 2022 15:09
Copy link
Contributor

@ArthurSens ArthurSens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simple yet effective 🚀

@kylos101
Copy link
Contributor

/hold

This may be blocking Tide and other PRs from merging.

image

@kylos101
Copy link
Contributor

/unhold

the queue has been processed, let's see if this auto merges now?

@ArthurSens
Copy link
Contributor

It won't get merged because a required check is failing (ci/werft/build). The build needs to pass, then tide will merge it.

Not sure why prow puts this PR on the queue if a required check is failing :/

/hold

@kylos101
Copy link
Contributor

Good catch @ArthurSens.

@ArthurSens
Copy link
Contributor

ArthurSens commented Feb 24, 2022

Since this change has nothing to do with preview at all, I assume the failure is due to flakyness. Running a job without preview just to the the green lights ✅

/werft run no-preview

👍 started the job as gitpod-build-mads-load-test.11

@ArthurSens
Copy link
Contributor

/unhold

@roboquat roboquat merged commit 0bbc23e into main Feb 24, 2022
@roboquat roboquat deleted the mads/load-test branch February 24, 2022 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants