-
Notifications
You must be signed in to change notification settings - Fork 186
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
[tests-only] [with-benchmarks] Improve k6 #983
Conversation
add more env variables add oidc auth flow add playbooks for better test reusability add more api endpoints update rollup config for test file transpilation update test folder structure split api package into smaller chunks
rename OC_OCIS_HOST to OC_HOST to make it more clear that the oc10 api is backward compatible
add oidc cache and respect token lifetime simplify account retrieval
update README.md
|
||
plays.fileDelete({ | ||
credential: authFactory.credential, | ||
userName, | ||
fileName, | ||
}); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fschade looks like you have added uploadFile, deleteFile inside the default function. doesn't this make the metrics read from the download function a bit unreliable since when VUs are still downloading files some will have already downloaded and started to delete, That means the server is not only doing the downloading but also deleting at the same time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it does't, this is the reason why its build as a closure...
you can see at the top of the play that there are custom metrics.
We get a detailed output metric for every action.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we shouldnt care about the total execution time in most cases.
- its importand to identify how long one interaction step did take
- and if we care about total execution time we can integrate a metric that reflects every interaction flow per vu and iteration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fschade I totally get your point, but doesn't that make the metrics a bit unreliable,
for eg. let's say we have a test for 100 UVs simultaneously uploading a file,
In this case, I suppose we would want to measure the performance when the server is completely focusing its resources on handling the uploads,
but in our case, we will be measuring when 100 VUs are simultaneously uploading, but also like 37 of them have also started deleting the files.
Sorry I might be misunderstanding something here.
const fileName = plays.fileUpload({ | ||
credential: authFactory.credential, | ||
userName, | ||
asset: defaults.FILE, | ||
}); | ||
|
||
sleep(1) | ||
|
||
plays.fileDelete({ | ||
credential: authFactory.credential, | ||
userName, | ||
fileName, | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above here too
add ability to generate binary files at runtime restructure package layout
add prettier add concurrent users upload test add api and play for users remove some code smell
move k6 to the after stage
add prettier integrate concept of runner libs to share tasks
Kudos, SonarCloud Quality Gate passed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. This provides a range of benchmark combinations. We can easily move forward from this to work out how/where to save benchmark data, compare trends...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
fixes #1018, #1019