diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 32 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SimStatsReporter.cs | 6 |
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 | } |