Skip to content

Implement metrics for network variable deltas #884

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

Conversation

bendoyon
Copy link
Contributor

@bendoyon bendoyon commented Jun 4, 2021

No description provided.

Benoit Doyon added 16 commits May 27, 2021 11:54
…' into experimental/netstats/named-message-test

# Conflicts:
#	com.unity.multiplayer.mlapi/Tests/Runtime/com.unity.multiplayer.mlapi.runtimetests.asmdef
…stats/unnamed-message-metrics

# Conflicts:
#	com.unity.multiplayer.mlapi/Runtime/Metrics/NetworkMetrics.cs
…erimental/netstats/network-variables

# Conflicts:
#	com.unity.multiplayer.mlapi/Runtime/Metrics/NetworkMetrics.cs
…stats/network-variables

# Conflicts:
#	com.unity.multiplayer.mlapi/Runtime/Metrics/INetworkMetrics.cs
#	com.unity.multiplayer.mlapi/Runtime/Metrics/NetworkMetrics.cs
#	com.unity.multiplayer.mlapi/Runtime/Metrics/NullNetworkMetrics.cs
@bendoyon bendoyon changed the title Experimental/netstats/network variables Implement metrics for network variable deltas Jun 8, 2021
@bendoyon bendoyon marked this pull request as ready for review June 8, 2021 14:28
@bendoyon bendoyon requested a review from Rosme June 8, 2021 14:29
@bendoyon bendoyon merged commit d966c53 into experimental/netstats-dispatcher Jun 8, 2021
@bendoyon bendoyon deleted the experimental/netstats/network-variables branch June 8, 2021 18:05
becksebenius-unity added a commit that referenced this pull request Aug 12, 2021
* Initial reference and NetworkMetrics

* Implement profiling decorator and network metrics for named messages

* Add dummy dispatch frame

* Move dispatch frame

* Move references

* Fix namespace reference

* Client Connection Ids and Game Object registration (#863)

* Client Connection Ids and Game Object registration

* Fixing connection to use local and avoid allocation at every new metrics

* Fixed client id connections to point to other clients

* Using IReadOnlyCollection instead of explicit List

* Changing variable name to sender and receiver

* feat: Add test for named message sent and named message received metrics (#861)

* Add test for named message sent

* Add test for named messages sent to multiple clients

* Add test for named message received

* Revert editor changes

* Code review fixes

* Merge test fixes

* feat: Add implementation and tests for unnamed message metrics (#866)

* Implement metrics for network variable deltas (#884)

* Removing duplicate

* Fix merge

* Merge fix

* Rename and move messaging metrics tests

* Fix merge errors

* Add helper to wait for metric values in tests (#896)

* Add helper to wait for metric values in tests

* Use helper in other tests classes

* Fail when metric values haven't been found

* Add conditional define for the tools library (#908)

* Add conditional define for the tools library

* Remove conditional define from test project

* feat: Report metrics when network objects are spawned or destroyed/despawned. (#930)

Create new object spawned/destroyed sent and received metrics.

Co-authored-by: Benoit Doyon <benoit.doyon@unity3d.com>

* chore: Compile out file when tool isn’t present (#953)

https://github.com/Unity-Technologies/com.unity.multiplayer.mlapi

* feat: Add metrics for multiple objects spawned and destroyed (i.e. NetworkShow/Hide) (#935)

Make use of existing network object spawn destroy metrics individually for each network object, so that sent metrics mirror the received metrics, and to avoid allocations.

Co-authored-by: Benoit Doyon <benoit.doyon@unity3d.com>

* feat: RPC Event Net stat reporting (#954)

* RPC Event implementation with test

* Update based on comments

* Fixed RPC byte size

* Fix tests to use properly registered network prefabs (#962)

* Updated to match tools PR that decouples network profiler references (#961)

* Compilation fix

* Feat: Server logs metrics (#956)

* Experimental/netstats/review fixes (#970)

* Track ownership change events (#931)

* Move common metrics test initialization to utility class (#973)

* Assert byte counts for metrics (#975)

* Merge fixes

* Fix buffer size tracking

* Fix named message stream copyto

* Make network object tests use the base class

* test: added an empty test project that includes the tools package (#1016)

* Added a test project that references the tools package

* Reverted project.metafile change to try to diagnose a yamato failure

* trying a different format for the project name

* updated yamato files to avoid duplicate keys

* fixed triggers and 'run all' jobs not using new name or respecting validate flag

* re-added "test_" prefix to avoid too many changes to the structure in yamato

* fixed incorrect pack dependency for non-first projects

* Added utp to the integration project

* fixed package tests always using the first project

* Added a dummy asset to make sure that the test project assets folder is actually created

* Removed "packages" list from tools test project to simplify list

* fixed WaitForEndOfFrame issue

* Compiled out metrics tests when tools package isn't present

* Made sure all projects are tested from pull request even if they contain no packages

* changed test_editors to be project-specific

* fix mistake in previous

* Updated tools package testing to 0.0.1-preview.1

* missed updating the packages-lock.json in previous commit

* Code review fixes

* Code review fixes

* Code review fixes

* Code review fixes

* Force CI

* Revert "Force CI"

This reverts commit f0f4479.

* fix: updated some missed cases where test_editors was still used (#1039)

* Removed the incorrect "on" in the pull request trigger name

* Fixed another place where I missed adding `project.`

* Fixed ObjectDestroy metric not being sent when NetworkHide is used (#1041)

* Avoid string allocation when printing variable name by sanitizing on variable initialization (#1043)

* fix: pull request trigger name does not match the one configured in github branch protections (#1045)

* fix: pull request trigger name does not match the one configured in github branch protections

* Moved the old name to a "legacy" job so that the branch protected can be easily updated after merge

* fix: ported over the actual trigger data for the legacy trigger so it runs automatically (#1047)

* Fixing testproject-tools-integration failure

Co-authored-by: Benoit Doyon <benoit.doyon@unity3d.com>
Co-authored-by: Jean-Sébastien Fauteux <js.fauteux@unity3d.com>
Co-authored-by: Benoit Doyon <46577133+bendoyon@users.noreply.github.com>
Co-authored-by: josiemessa <josie@unity3d.com>
Co-authored-by: kvassall-unity <68920108+kvassall-unity@users.noreply.github.com>
mollstam pushed a commit to Keepsake-Games/com.unity.netcode.gameobjects that referenced this pull request Feb 13, 2023
…ies#960)

* Initial reference and NetworkMetrics

* Implement profiling decorator and network metrics for named messages

* Add dummy dispatch frame

* Move dispatch frame

* Move references

* Fix namespace reference

* Client Connection Ids and Game Object registration (Unity-Technologies#863)

* Client Connection Ids and Game Object registration

* Fixing connection to use local and avoid allocation at every new metrics

* Fixed client id connections to point to other clients

* Using IReadOnlyCollection instead of explicit List

* Changing variable name to sender and receiver

* feat: Add test for named message sent and named message received metrics (Unity-Technologies#861)

* Add test for named message sent

* Add test for named messages sent to multiple clients

* Add test for named message received

* Revert editor changes

* Code review fixes

* Merge test fixes

* feat: Add implementation and tests for unnamed message metrics (Unity-Technologies#866)

* Implement metrics for network variable deltas (Unity-Technologies#884)

* Removing duplicate

* Fix merge

* Merge fix

* Rename and move messaging metrics tests

* Fix merge errors

* Add helper to wait for metric values in tests (Unity-Technologies#896)

* Add helper to wait for metric values in tests

* Use helper in other tests classes

* Fail when metric values haven't been found

* Add conditional define for the tools library (Unity-Technologies#908)

* Add conditional define for the tools library

* Remove conditional define from test project

* feat: Report metrics when network objects are spawned or destroyed/despawned. (Unity-Technologies#930)

Create new object spawned/destroyed sent and received metrics.

Co-authored-by: Benoit Doyon <benoit.doyon@unity3d.com>

* chore: Compile out file when tool isn’t present (Unity-Technologies#953)

https://github.com/Unity-Technologies/com.unity.multiplayer.mlapi

* feat: Add metrics for multiple objects spawned and destroyed (i.e. NetworkShow/Hide) (Unity-Technologies#935)

Make use of existing network object spawn destroy metrics individually for each network object, so that sent metrics mirror the received metrics, and to avoid allocations.

Co-authored-by: Benoit Doyon <benoit.doyon@unity3d.com>

* feat: RPC Event Net stat reporting (Unity-Technologies#954)

* RPC Event implementation with test

* Update based on comments

* Fixed RPC byte size

* Fix tests to use properly registered network prefabs (Unity-Technologies#962)

* Updated to match tools PR that decouples network profiler references (Unity-Technologies#961)

* Compilation fix

* Feat: Server logs metrics (Unity-Technologies#956)

* Experimental/netstats/review fixes (Unity-Technologies#970)

* Track ownership change events (Unity-Technologies#931)

* Move common metrics test initialization to utility class (Unity-Technologies#973)

* Assert byte counts for metrics (Unity-Technologies#975)

* Merge fixes

* Fix buffer size tracking

* Fix named message stream copyto

* Make network object tests use the base class

* test: added an empty test project that includes the tools package (Unity-Technologies#1016)

* Added a test project that references the tools package

* Reverted project.metafile change to try to diagnose a yamato failure

* trying a different format for the project name

* updated yamato files to avoid duplicate keys

* fixed triggers and 'run all' jobs not using new name or respecting validate flag

* re-added "test_" prefix to avoid too many changes to the structure in yamato

* fixed incorrect pack dependency for non-first projects

* Added utp to the integration project

* fixed package tests always using the first project

* Added a dummy asset to make sure that the test project assets folder is actually created

* Removed "packages" list from tools test project to simplify list

* fixed WaitForEndOfFrame issue

* Compiled out metrics tests when tools package isn't present

* Made sure all projects are tested from pull request even if they contain no packages

* changed test_editors to be project-specific

* fix mistake in previous

* Updated tools package testing to 0.0.1-preview.1

* missed updating the packages-lock.json in previous commit

* Code review fixes

* Code review fixes

* Code review fixes

* Code review fixes

* Force CI

* Revert "Force CI"

This reverts commit f0f4479.

* fix: updated some missed cases where test_editors was still used (Unity-Technologies#1039)

* Removed the incorrect "on" in the pull request trigger name

* Fixed another place where I missed adding `project.`

* Fixed ObjectDestroy metric not being sent when NetworkHide is used (Unity-Technologies#1041)

* Avoid string allocation when printing variable name by sanitizing on variable initialization (Unity-Technologies#1043)

* fix: pull request trigger name does not match the one configured in github branch protections (Unity-Technologies#1045)

* fix: pull request trigger name does not match the one configured in github branch protections

* Moved the old name to a "legacy" job so that the branch protected can be easily updated after merge

* fix: ported over the actual trigger data for the legacy trigger so it runs automatically (Unity-Technologies#1047)

* Fixing testproject-tools-integration failure

Co-authored-by: Benoit Doyon <benoit.doyon@unity3d.com>
Co-authored-by: Jean-Sébastien Fauteux <js.fauteux@unity3d.com>
Co-authored-by: Benoit Doyon <46577133+bendoyon@users.noreply.github.com>
Co-authored-by: josiemessa <josie@unity3d.com>
Co-authored-by: kvassall-unity <68920108+kvassall-unity@users.noreply.github.com>
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