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

Added ability for NetSoakTest project to dump stats after a time dela… #15

Draft
wants to merge 10 commits into
base: development
Choose a base branch
from

Conversation

AMZN-scspaldi
Copy link

…y. Modified jenkins job to automatically start ServerLauncher and run NetSoakTest project for 30 minutes before dumping stats.

Signed-off-by: scspaldi [email protected]

…y. Modified jenkins job to automatically start ServerLauncher and run NetSoakTest project for 30 minutes before dumping stats.

Signed-off-by: scspaldi <[email protected]>
@AMZN-scspaldi AMZN-scspaldi marked this pull request as draft November 11, 2021 00:44
Comment on lines 381 to 387

// Launch the project, which automatically starts the tests
launch_command += "NetSoakTest.ServerLauncher --soak_runtime=1800000 --soak_mode=loopback --rhi=null"
dir("${workspace}/${ENGINE_REPOSITORY_NAME}") {
PlatformSh(launch_command, "Running NetSoakTest project")
}

Choose a reason for hiding this comment

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

Build() is used to execute the command for each step in the pipe. For example, in the profile_vs2019_pipe it will run the command for profile_vs2019, test_cpu_profile_vs2019, etc. So wanted to check when is the desired time to launch netsoaktest in the pipe, so we can determine the best place to run this. Also wanted to check if the netsoaktest is meant to be launched for each platform?

Copy link
Author

Choose a reason for hiding this comment

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

I'm double-checking but I think this is the expectation for the various build flavors.

However, from my understanding this should only run on Windows for now. On Jenkins I don't see a split by platform though, is this job already running on multiple platforms?

Choose a reason for hiding this comment

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

I see, if it's meant to be ran on each build step on all platforms then this is the appropriate place for it. Since the project jobs utilize the engine-centric workflow, the actually job configs are pulled from the build_config.json files in the o3de repo.

This is the one for windows: https://github.com/o3de/o3de/blob/development/scripts/build/Platform/Windows/build_config.json

The jenkinsfile in this repo (o3de-netsoaktest) utilizes these configs to run build() for each platform. If we need to limit where NetSoakTest.ServerLauncher is launched we can setup a separate stage or alternatively leave it here then add a condition where its only launched for certain platforms.

Copy link
Author

Choose a reason for hiding this comment

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

I was mistaken on this. It only supports the server launcher target and it should only run its tests against Windows / Linux server target. The rest of the platforms are just build checks.

So it sounds like we'll want to add a condition where it is only launched for certain platforms and targets. Is there any example of one of these conditions somewhere?

Choose a reason for hiding this comment

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

There something similar here: https://github.com/o3de/o3de/blob/development/scripts/build/Jenkins/Jenkinsfile#L588

Instead of parameters you would use platform and type. Platform names are generated from the folder names here: https://github.com/o3de/o3de/tree/development/scripts/build/Platform

Type is the targets listed here: https://github.com/o3de/o3de/blob/development/scripts/build/Platform/Windows/build_config.json (example using windows) Also the names of the targets are listed in the pipeline view: https://jenkins.build.o3de.org/blue/organizations/jenkins/o3de-netsoaktest/detail/development/6/

Choose a reason for hiding this comment

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

Also groovy may throw a syntax error here. May need to replace += to = since this is the first time launch_command is being defined.

Copy link
Author

Choose a reason for hiding this comment

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

I have now incorporated both of these points.

Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
Signed-off-by: scspaldi <[email protected]>
@lmbr-pip lmbr-pip requested a review from a team November 18, 2021 18:50
Signed-off-by: scspaldi <[email protected]>
@AMZN-scspaldi AMZN-scspaldi removed the request for review from a team November 19, 2021 23:04
- Move command into dir block to run in the correct workspace path
- Avoid running NetSoakTest on validation job
- Update path based on pipeline type

Signed-off-by: brianherrera <[email protected]>
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