aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs13
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs32
-rw-r--r--OpenSim/Region/Framework/Scenes/SimStatsReporter.cs6
4 files changed, 21 insertions, 36 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index e4ebcff..b1755ac 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -183,6 +183,7 @@ namespace OpenSim.Region.Framework.Scenes
183// private int m_update_land = 1; 183// private int m_update_land = 1;
184 private int m_update_coarse_locations = 50; 184 private int m_update_coarse_locations = 50;
185 185
186 private int agentMS;
186 private int frameMS; 187 private int frameMS;
187 private int physicsMS2; 188 private int physicsMS2;
188 private int physicsMS; 189 private int physicsMS;
@@ -1226,12 +1227,15 @@ namespace OpenSim.Region.Framework.Scenes
1226 1227
1227 int maintc = Util.EnvironmentTickCount(); 1228 int maintc = Util.EnvironmentTickCount();
1228 int tmpFrameMS = maintc; 1229 int tmpFrameMS = maintc;
1229 tempOnRezMS = eventMS = backupMS = terrainMS = landMS = 0; 1230 agentMS = tempOnRezMS = eventMS = backupMS = terrainMS = landMS = 0;
1230 1231
1232 // TODO: ADD AGENT TIME HERE
1231 // Increment the frame counter 1233 // Increment the frame counter
1232 ++Frame; 1234 ++Frame;
1233 try 1235 try
1234 { 1236 {
1237 int tmpAgentMS = Util.EnvironmentTickCount();
1238
1235 // Check if any objects have reached their targets 1239 // Check if any objects have reached their targets
1236 CheckAtTargets(); 1240 CheckAtTargets();
1237 1241
@@ -1258,6 +1262,8 @@ namespace OpenSim.Region.Framework.Scenes
1258 }); 1262 });
1259 } 1263 }
1260 1264
1265 agentMS = Util.EnvironmentTickCountSubtract(tmpAgentMS);
1266
1261 int tmpPhysicsMS2 = Util.EnvironmentTickCount(); 1267 int tmpPhysicsMS2 = Util.EnvironmentTickCount();
1262 if ((Frame % m_update_physics == 0) && m_physics_enabled) 1268 if ((Frame % m_update_physics == 0) && m_physics_enabled)
1263 m_sceneGraph.UpdatePreparePhysics(); 1269 m_sceneGraph.UpdatePreparePhysics();
@@ -1265,7 +1271,11 @@ namespace OpenSim.Region.Framework.Scenes
1265 1271
1266 // Apply any pending avatar force input to the avatar's velocity 1272 // Apply any pending avatar force input to the avatar's velocity
1267 if (Frame % m_update_entitymovement == 0) 1273 if (Frame % m_update_entitymovement == 0)
1274 {
1275 tmpAgentMS = Util.EnvironmentTickCount();
1268 m_sceneGraph.UpdateScenePresenceMovement(); 1276 m_sceneGraph.UpdateScenePresenceMovement();
1277 agentMS += Util.EnvironmentTickCountSubtract(tmpAgentMS);
1278 }
1269 1279
1270 // Perform the main physics update. This will do the actual work of moving objects and avatars according to their 1280 // Perform the main physics update. This will do the actual work of moving objects and avatars according to their
1271 // velocity 1281 // velocity
@@ -1330,6 +1340,7 @@ namespace OpenSim.Region.Framework.Scenes
1330 StatsReporter.SetObjects(m_sceneGraph.GetTotalObjectsCount()); 1340 StatsReporter.SetObjects(m_sceneGraph.GetTotalObjectsCount());
1331 StatsReporter.SetActiveObjects(m_sceneGraph.GetActiveObjectsCount()); 1341 StatsReporter.SetActiveObjects(m_sceneGraph.GetActiveObjectsCount());
1332 StatsReporter.addFrameMS(frameMS); 1342 StatsReporter.addFrameMS(frameMS);
1343 StatsReporter.addAgentMS(agentMS);
1333 StatsReporter.addPhysicsMS(physicsMS + physicsMS2); 1344 StatsReporter.addPhysicsMS(physicsMS + physicsMS2);
1334 StatsReporter.addOtherMS(otherMS); 1345 StatsReporter.addOtherMS(otherMS);
1335 StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount()); 1346 StatsReporter.SetActiveScripts(m_sceneGraph.GetActiveScriptsCount());
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 11c2a78..caec704 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -166,6 +166,12 @@ namespace OpenSim.Region.Framework.Scenes
166 } 166 }
167 } 167 }
168 168
169 /// <summary>
170 /// Update the position of all the scene presences.
171 /// </summary>
172 /// <remarks>
173 /// Called only from the main scene loop.
174 /// </remarks>
169 protected internal void UpdatePresences() 175 protected internal void UpdatePresences()
170 { 176 {
171 ForEachScenePresence(delegate(ScenePresence presence) 177 ForEachScenePresence(delegate(ScenePresence presence)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index b3e04be..f049b78 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -847,11 +847,7 @@ namespace OpenSim.Region.Framework.Scenes
847 /// </summary> 847 /// </summary>
848 public void SendPrimUpdates() 848 public void SendPrimUpdates()
849 { 849 {
850 m_perfMonMS = Util.EnvironmentTickCount();
851
852 m_sceneViewer.SendPrimUpdates(); 850 m_sceneViewer.SendPrimUpdates();
853
854 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
855 } 851 }
856 852
857 #region Status Methods 853 #region Status Methods
@@ -1253,7 +1249,7 @@ namespace OpenSim.Region.Framework.Scenes
1253 // return; 1249 // return;
1254 //} 1250 //}
1255 1251
1256 m_perfMonMS = Util.EnvironmentTickCount(); 1252// m_perfMonMS = Util.EnvironmentTickCount();
1257 1253
1258 ++m_movementUpdateCount; 1254 ++m_movementUpdateCount;
1259 if (m_movementUpdateCount < 1) 1255 if (m_movementUpdateCount < 1)
@@ -1545,7 +1541,8 @@ namespace OpenSim.Region.Framework.Scenes
1545 1541
1546 m_scene.EventManager.TriggerOnClientMovement(this); 1542 m_scene.EventManager.TriggerOnClientMovement(this);
1547 1543
1548 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS)); 1544 // It doesn't make sense to add this to frame stats as this update is processed indepedently of the scene loop
1545// m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
1549 } 1546 }
1550 1547
1551 /// <summary> 1548 /// <summary>
@@ -2325,8 +2322,6 @@ namespace OpenSim.Region.Framework.Scenes
2325 /// <param name="vec">The vector in which to move. This is relative to the rotation argument</param> 2322 /// <param name="vec">The vector in which to move. This is relative to the rotation argument</param>
2326 public void AddNewMovement(Vector3 vec) 2323 public void AddNewMovement(Vector3 vec)
2327 { 2324 {
2328 m_perfMonMS = Util.EnvironmentTickCount();
2329
2330 Vector3 direc = vec * Rotation; 2325 Vector3 direc = vec * Rotation;
2331 direc.Normalize(); 2326 direc.Normalize();
2332 2327
@@ -2365,8 +2360,6 @@ namespace OpenSim.Region.Framework.Scenes
2365 2360
2366 // TODO: Add the force instead of only setting it to support multiple forces per frame? 2361 // TODO: Add the force instead of only setting it to support multiple forces per frame?
2367 m_forceToApply = direc; 2362 m_forceToApply = direc;
2368
2369 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2370 } 2363 }
2371 2364
2372 #endregion 2365 #endregion
@@ -2431,8 +2424,6 @@ namespace OpenSim.Region.Framework.Scenes
2431 // server. 2424 // server.
2432 if (remoteClient.IsActive) 2425 if (remoteClient.IsActive)
2433 { 2426 {
2434 m_perfMonMS = Util.EnvironmentTickCount();
2435
2436 Vector3 pos = m_pos; 2427 Vector3 pos = m_pos;
2437 pos.Z += m_appearance.HipOffset; 2428 pos.Z += m_appearance.HipOffset;
2438 2429
@@ -2443,7 +2434,6 @@ namespace OpenSim.Region.Framework.Scenes
2443 PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity 2434 PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity
2444 | PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity); 2435 | PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity);
2445 2436
2446 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2447 m_scene.StatsReporter.AddAgentUpdates(1); 2437 m_scene.StatsReporter.AddAgentUpdates(1);
2448 } 2438 }
2449 } 2439 }
@@ -2484,14 +2474,11 @@ namespace OpenSim.Region.Framework.Scenes
2484 || Math.Abs(distanceError) > distanceErrorThreshold 2474 || Math.Abs(distanceError) > distanceErrorThreshold
2485 || velocidyDiff > 0.01f) // did velocity change from last update? 2475 || velocidyDiff > 0.01f) // did velocity change from last update?
2486 { 2476 {
2487 m_perfMonMS = currentTick;
2488 lastVelocitySentToAllClients = Velocity; 2477 lastVelocitySentToAllClients = Velocity;
2489 lastTerseUpdateToAllClientsTick = currentTick; 2478 lastTerseUpdateToAllClientsTick = currentTick;
2490 lastPositionSentToAllClients = OffsetPosition; 2479 lastPositionSentToAllClients = OffsetPosition;
2491 2480
2492 m_scene.ForEachClient(SendTerseUpdateToClient); 2481 m_scene.ForEachClient(SendTerseUpdateToClient);
2493
2494 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2495 } 2482 }
2496 } 2483 }
2497 2484
@@ -2512,9 +2499,7 @@ namespace OpenSim.Region.Framework.Scenes
2512 2499
2513 public void SendCoarseLocationsDefault(UUID sceneId, ScenePresence p, List<Vector3> coarseLocations, List<UUID> avatarUUIDs) 2500 public void SendCoarseLocationsDefault(UUID sceneId, ScenePresence p, List<Vector3> coarseLocations, List<UUID> avatarUUIDs)
2514 { 2501 {
2515 m_perfMonMS = Util.EnvironmentTickCount();
2516 m_controllingClient.SendCoarseLocationUpdate(avatarUUIDs, coarseLocations); 2502 m_controllingClient.SendCoarseLocationUpdate(avatarUUIDs, coarseLocations);
2517 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2518 } 2503 }
2519 2504
2520 /// <summary> 2505 /// <summary>
@@ -2575,8 +2560,6 @@ namespace OpenSim.Region.Framework.Scenes
2575 m_log.Warn("[SCENE PRESENCE] attempt to send avatar data from a child agent"); 2560 m_log.Warn("[SCENE PRESENCE] attempt to send avatar data from a child agent");
2576 return; 2561 return;
2577 } 2562 }
2578
2579 m_perfMonMS = Util.EnvironmentTickCount();
2580 2563
2581 int count = 0; 2564 int count = 0;
2582 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) 2565 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
@@ -2586,7 +2569,6 @@ namespace OpenSim.Region.Framework.Scenes
2586 }); 2569 });
2587 2570
2588 m_scene.StatsReporter.AddAgentUpdates(count); 2571 m_scene.StatsReporter.AddAgentUpdates(count);
2589 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2590 } 2572 }
2591 2573
2592 /// <summary> 2574 /// <summary>
@@ -2595,8 +2577,6 @@ namespace OpenSim.Region.Framework.Scenes
2595 /// </summary> 2577 /// </summary>
2596 public void SendOtherAgentsAvatarDataToMe() 2578 public void SendOtherAgentsAvatarDataToMe()
2597 { 2579 {
2598 m_perfMonMS = Util.EnvironmentTickCount();
2599
2600 int count = 0; 2580 int count = 0;
2601 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) 2581 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
2602 { 2582 {
@@ -2613,7 +2593,6 @@ namespace OpenSim.Region.Framework.Scenes
2613 }); 2593 });
2614 2594
2615 m_scene.StatsReporter.AddAgentUpdates(count); 2595 m_scene.StatsReporter.AddAgentUpdates(count);
2616 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2617 } 2596 }
2618 2597
2619 /// <summary> 2598 /// <summary>
@@ -2642,8 +2621,6 @@ namespace OpenSim.Region.Framework.Scenes
2642 m_log.Warn("[SCENE PRESENCE] attempt to send avatar data from a child agent"); 2621 m_log.Warn("[SCENE PRESENCE] attempt to send avatar data from a child agent");
2643 return; 2622 return;
2644 } 2623 }
2645
2646 m_perfMonMS = Util.EnvironmentTickCount();
2647 2624
2648 int count = 0; 2625 int count = 0;
2649 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) 2626 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
@@ -2656,7 +2633,6 @@ namespace OpenSim.Region.Framework.Scenes
2656 }); 2633 });
2657 2634
2658 m_scene.StatsReporter.AddAgentUpdates(count); 2635 m_scene.StatsReporter.AddAgentUpdates(count);
2659 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2660 } 2636 }
2661 2637
2662 /// <summary> 2638 /// <summary>
@@ -2666,7 +2642,6 @@ namespace OpenSim.Region.Framework.Scenes
2666 public void SendOtherAgentsAppearanceToMe() 2642 public void SendOtherAgentsAppearanceToMe()
2667 { 2643 {
2668 //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID); 2644 //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID);
2669 m_perfMonMS = Util.EnvironmentTickCount();
2670 2645
2671 int count = 0; 2646 int count = 0;
2672 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) 2647 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
@@ -2684,7 +2659,6 @@ namespace OpenSim.Region.Framework.Scenes
2684 }); 2659 });
2685 2660
2686 m_scene.StatsReporter.AddAgentUpdates(count); 2661 m_scene.StatsReporter.AddAgentUpdates(count);
2687 m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS));
2688 } 2662 }
2689 2663
2690 /// <summary> 2664 /// <summary>
diff --git a/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs b/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs
index 2d92ed8..282b677 100644
--- a/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs
+++ b/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs
@@ -452,12 +452,6 @@ namespace OpenSim.Region.Framework.Scenes
452 AddOutPackets(outPackets); 452 AddOutPackets(outPackets);
453 AddunAckedBytes(unAckedBytes); 453 AddunAckedBytes(unAckedBytes);
454 } 454 }
455
456 public void AddAgentTime(int ms)
457 {
458 addFrameMS(ms);
459 addAgentMS(ms);
460 }
461 455
462 #endregion 456 #endregion
463 } 457 }