Skip to content

test: Perf tests part 4. Adding example of performance test with spawning x network objects at once #925

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

Conversation

SamuelBellomo
Copy link
Contributor

Adding a first example of performance tests.
This was used a test bench for multiprocess testing tools in Part 1-3.
These tests will be skipped for normal CI as they need additional setup steps for device orchestration.
They will spawn x number of objects server side, wait to see them client side and report on the number of failures, number of spawned objects per frame, etc.
These tests create GC allocs before and after the tests. During the tests, the only allocs I could find were MLAPI related, which is kind of the point for these tests :)

Currently writing confluence page on all this to document the flow.

This PR is based on changes from #924

…rocess-tests/base-multiprocess-tests

* test/multiprocess-tests/orchestration:
  moving orchestration to this branch from test/multiprocess-testing/wip
…est/multiprocess-tests/execute-step-in-context

* test/multiprocess-tests/base-multiprocess-tests:
  taking changes from wip branch
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  taking changes from wip branch
…est/multiprocess-tests/execute-step-in-context

* test/multiprocess-tests/base-multiprocess-tests:
  commenting out ExecuteStepInContext for better PR clarity
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  uncommenting here, this is where they should really be
  commenting out ExecuteStepInContext for better PR clarity
…rocess-tests/base-multiprocess-tests

* test/multiprocess-tests/orchestration:
  cleanup
…est/multiprocess-tests/execute-step-in-context

* test/multiprocess-tests/base-multiprocess-tests:
  cleanup
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  cleanup
…rocess-tests/base-multiprocess-tests

* test/multiprocess-tests/orchestration:
  better name
…est/multiprocess-tests/execute-step-in-context

* test/multiprocess-tests/base-multiprocess-tests:
  better name
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  better name
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  removing comment and putting better name
SamuelBellomo and others added 13 commits July 8, 2021 23:01
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  format update
…est/multiprocess-tests/execute-step-in-context

* test/multiprocess-tests/base-multiprocess-tests:
  name fix

# Conflicts:
#	testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  #
  name fix
…hub.com:Unity-Technologies/com.unity.multiplayer.mlapi into test/multiprocess-tests/base-multiprocess-tests

* 'test/multiprocess-tests/base-multiprocess-tests' of github.com:Unity-Technologies/com.unity.multiplayer.mlapi:
  fix: (MLAPI.Serialization) 'specified cast is not valid.' on NetworkW… (#951)
…est/multiprocess-tests/execute-step-in-context

* test/multiprocess-tests/base-multiprocess-tests:
  fix for automation fail right now
  fix: (MLAPI.Serialization) 'specified cast is not valid.' on NetworkW… (#951)
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  fix for automation fail right now
  fix: (MLAPI.Serialization) 'specified cast is not valid.' on NetworkW… (#951)

# Conflicts:
#	testproject/Assets/Tests/Runtime/MultiprocessRuntime/Helpers/MultiprocessOrchestration.cs
…ontext

* develop:
  test: Perf tests part 2. Adding Test Coordinator and base test class (#923)

# Conflicts:
#	testproject/Assets/Tests/Runtime/MultiprocessRuntime/TestCoordinator.cs
…est/multiprocess-tests/adding-perf-tests-for-spawn

* test/multiprocess-tests/execute-step-in-context:
  test: Perf tests part 2. Adding Test Coordinator and base test class (#923)
Base automatically changed from test/multiprocess-tests/execute-step-in-context to develop July 12, 2021 15:12
@SamuelBellomo SamuelBellomo enabled auto-merge (squash) July 12, 2021 23:45
@SamuelBellomo SamuelBellomo merged commit 6c8efd6 into develop Jul 12, 2021
@SamuelBellomo SamuelBellomo deleted the test/multiprocess-tests/adding-perf-tests-for-spawn branch July 12, 2021 23:57
SamuelBellomo added a commit that referenced this pull request Jul 13, 2021
…nings-all-tests-together

* develop:
  test: Perf tests part 4. Adding example of performance test with spawning x network objects at once (#925)

# Conflicts:
#	testproject/Assets/Tests/Runtime/MultiprocessRuntime/Helpers/BuildMultiprocessTestPlayer.cs
#	testproject/Assets/Tests/Runtime/MultiprocessRuntime/NetworkVariablePerformanceTests.cs
SamuelBellomo added a commit that referenced this pull request Jul 23, 2021
…nsform

* develop:
  feat: snapshot. Adding RTT computation API. (#963)
  feat: snapshot. Milestone 1b. Testproject "manual test" "scene transitioning" working with snapshot. Disabled by default. (#862)
  test: multiprocess tests part 6: fixing issues runnings all tests together (#957)
  docs: Perf tests part 5. Adding documentation and instructions (#952)
  test: Perf tests part 4. Adding example of performance test with spawning x network objects at once (#925)
  test: Correctly teardown OnNetworkSpawn/Despawn tests.
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