@@ -39,8 +39,6 @@ internal class NetworkMetrics : INetworkMetrics
3939 readonly EventMetric < SceneEventMetric > m_SceneEventReceivedEvent = new EventMetric < SceneEventMetric > ( NetworkMetricTypes . SceneEventReceived . Id ) ;
4040 private bool m_Dirty ;
4141
42- readonly Dictionary < ulong , NetworkObjectIdentifier > m_NetworkGameObjects = new Dictionary < ulong , NetworkObjectIdentifier > ( ) ;
43-
4442 public NetworkMetrics ( )
4543 {
4644 Dispatcher = new MetricDispatcherBuilder ( )
@@ -77,14 +75,6 @@ public void TrackTransportBytesReceived(long bytesCount)
7775 m_TransportBytesReceived . Increment ( bytesCount ) ;
7876 }
7977
80- public void TrackNetworkObject ( NetworkObject networkObject )
81- {
82- if ( ! m_NetworkGameObjects . ContainsKey ( networkObject . NetworkObjectId ) )
83- {
84- m_NetworkGameObjects [ networkObject . NetworkObjectId ] = new NetworkObjectIdentifier ( networkObject . name , networkObject . NetworkObjectId ) ;
85- }
86- }
87-
8878 public void TrackNetworkMessageSent ( ulong receivedClientId , string messageType , long bytesCount )
8979 {
9080 m_NetworkMessageSentEvent . Mark ( new NetworkMessageEvent ( new ConnectionInfo ( receivedClientId ) , messageType , bytesCount ) ) ;
@@ -139,16 +129,15 @@ public void TrackUnnamedMessageReceived(ulong senderClientId, long bytesCount)
139129
140130 public void TrackNetworkVariableDeltaSent (
141131 ulong receiverClientId ,
142- ulong networkObjectId ,
143- string gameObjectName ,
132+ NetworkObject networkObject ,
144133 string variableName ,
145134 string networkBehaviourName ,
146135 long bytesCount )
147136 {
148137 m_NetworkVariableDeltaSentEvent . Mark (
149138 new NetworkVariableEvent (
150139 new ConnectionInfo ( receiverClientId ) ,
151- new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) ,
140+ GetObjectIdentifier ( networkObject ) ,
152141 variableName ,
153142 networkBehaviourName ,
154143 bytesCount ) ) ;
@@ -157,75 +146,69 @@ public void TrackNetworkVariableDeltaSent(
157146
158147 public void TrackNetworkVariableDeltaReceived (
159148 ulong senderClientId ,
160- ulong networkObjectId ,
161- string gameObjectName ,
149+ NetworkObject networkObject ,
162150 string variableName ,
163151 string networkBehaviourName ,
164152 long bytesCount )
165153 {
166154 m_NetworkVariableDeltaReceivedEvent . Mark (
167155 new NetworkVariableEvent (
168156 new ConnectionInfo ( senderClientId ) ,
169- new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) ,
157+ GetObjectIdentifier ( networkObject ) ,
170158 variableName ,
171159 networkBehaviourName ,
172160 bytesCount ) ) ;
173161 MarkDirty ( ) ;
174162 }
175163
176- public void TrackOwnershipChangeSent ( ulong receiverClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
164+ public void TrackOwnershipChangeSent ( ulong receiverClientId , NetworkObject networkObject , long bytesCount )
177165 {
178- m_OwnershipChangeSentEvent . Mark ( new OwnershipChangeEvent ( new ConnectionInfo ( receiverClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
166+ m_OwnershipChangeSentEvent . Mark ( new OwnershipChangeEvent ( new ConnectionInfo ( receiverClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
179167 MarkDirty ( ) ;
180168 }
181169
182- public void TrackOwnershipChangeReceived ( ulong senderClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
170+ public void TrackOwnershipChangeReceived ( ulong senderClientId , NetworkObject networkObject , long bytesCount )
183171 {
184172 m_OwnershipChangeReceivedEvent . Mark ( new OwnershipChangeEvent ( new ConnectionInfo ( senderClientId ) ,
185- new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
173+ GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
186174 MarkDirty ( ) ;
187175 }
188176
189- public void TrackObjectSpawnSent ( ulong receiverClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
177+ public void TrackObjectSpawnSent ( ulong receiverClientId , NetworkObject networkObject , long bytesCount )
190178 {
191- m_ObjectSpawnSentEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( receiverClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
179+ m_ObjectSpawnSentEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( receiverClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
192180 MarkDirty ( ) ;
193181 }
194182
195- public void TrackObjectSpawnReceived ( ulong senderClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
183+ public void TrackObjectSpawnReceived ( ulong senderClientId , NetworkObject networkObject , long bytesCount )
196184 {
197- m_ObjectSpawnReceivedEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( senderClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
185+ m_ObjectSpawnReceivedEvent . Mark ( new ObjectSpawnedEvent ( new ConnectionInfo ( senderClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
198186 MarkDirty ( ) ;
199187 }
200188
201- public void TrackObjectDestroySent ( ulong receiverClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
189+ public void TrackObjectDestroySent ( ulong receiverClientId , NetworkObject networkObject , long bytesCount )
202190 {
203- m_ObjectDestroySentEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( receiverClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
191+ m_ObjectDestroySentEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( receiverClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
204192 MarkDirty ( ) ;
205193 }
206194
207- public void TrackObjectDestroyReceived ( ulong senderClientId , ulong networkObjectId , string gameObjectName , long bytesCount )
195+ public void TrackObjectDestroyReceived ( ulong senderClientId , NetworkObject networkObject , long bytesCount )
208196 {
209- m_ObjectDestroyReceivedEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( senderClientId ) , new NetworkObjectIdentifier ( gameObjectName , networkObjectId ) , bytesCount ) ) ;
197+ m_ObjectDestroyReceivedEvent . Mark ( new ObjectDestroyedEvent ( new ConnectionInfo ( senderClientId ) , GetObjectIdentifier ( networkObject ) , bytesCount ) ) ;
210198 MarkDirty ( ) ;
211199 }
212200
213201 public void TrackRpcSent (
214202 ulong receiverClientId ,
215- ulong networkObjectId ,
203+ NetworkObject networkObject ,
216204 string rpcName ,
217205 string networkBehaviourName ,
218206 long bytesCount )
219207 {
220- if ( ! m_NetworkGameObjects . TryGetValue ( networkObjectId , out var networkObjectIdentifier ) )
221- {
222- networkObjectIdentifier = new NetworkObjectIdentifier ( "" , networkObjectId ) ;
223- }
224-
225208 m_RpcSentEvent . Mark (
226209 new RpcEvent (
227210 new ConnectionInfo ( receiverClientId ) ,
228- networkObjectIdentifier ,
211+ GetObjectIdentifier ( networkObject ) ,
229212 rpcName ,
230213 networkBehaviourName ,
231214 bytesCount ) ) ;
@@ -234,32 +217,27 @@ public void TrackRpcSent(
234217
235218 public void TrackRpcSent (
236219 ulong [ ] receiverClientIds ,
237- ulong networkObjectId ,
220+ NetworkObject networkObject ,
238221 string rpcName ,
239222 string networkBehaviourName ,
240223 long bytesCount )
241224 {
242225 foreach ( var receiverClientId in receiverClientIds )
243226 {
244- TrackRpcSent ( receiverClientId , networkObjectId , rpcName , networkBehaviourName , bytesCount ) ;
227+ TrackRpcSent ( receiverClientId , networkObject , rpcName , networkBehaviourName , bytesCount ) ;
245228 }
246229 }
247230
248231 public void TrackRpcReceived (
249232 ulong senderClientId ,
250- ulong networkObjectId ,
233+ NetworkObject networkObject ,
251234 string rpcName ,
252235 string networkBehaviourName ,
253236 long bytesCount )
254237 {
255- if ( ! m_NetworkGameObjects . TryGetValue ( networkObjectId , out var networkObjectIdentifier ) )
256- {
257- networkObjectIdentifier = new NetworkObjectIdentifier ( "" , networkObjectId ) ;
258- }
259-
260238 m_RpcReceivedEvent . Mark (
261239 new RpcEvent ( new ConnectionInfo ( senderClientId ) ,
262- networkObjectIdentifier ,
240+ GetObjectIdentifier ( networkObject ) ,
263241 rpcName ,
264242 networkBehaviourName ,
265243 bytesCount ) ) ;
@@ -311,6 +289,11 @@ private void MarkDirty()
311289 {
312290 m_Dirty = true ;
313291 }
292+
293+ private static NetworkObjectIdentifier GetObjectIdentifier ( NetworkObject networkObject )
294+ {
295+ return new NetworkObjectIdentifier ( networkObject . GetNameForMetrics ( ) , networkObject . NetworkObjectId ) ;
296+ }
314297 }
315298
316299 internal class NetcodeObserver
0 commit comments