New command: show pending-objects

0.7.1-dev
Diva Canto 2011-02-06 19:39:29 -08:00
parent 2c7e87c45b
commit 98ea78fc77
3 changed files with 31 additions and 0 deletions

View File

@ -302,6 +302,10 @@ namespace OpenSim
"show http-handlers", "show http-handlers",
"Show all registered http handlers", HandleShow); "Show all registered http handlers", HandleShow);
m_console.Commands.AddCommand("region", false, "show pending-objects",
"show pending-objects",
"Show # of objects on the pending queues of all scene viewers", HandleShow);
m_console.Commands.AddCommand("region", false, "show modules", m_console.Commands.AddCommand("region", false, "show modules",
"show modules", "show modules",
"Show module data", HandleShow); "Show module data", HandleShow);
@ -993,6 +997,24 @@ namespace OpenSim
MainConsole.Instance.Output(handlers.ToString()); MainConsole.Instance.Output(handlers.ToString());
break; break;
case "pending-objects":
System.Text.StringBuilder pending = new System.Text.StringBuilder("Pending objects:\n");
m_sceneManager.ForEachScene(
delegate(Scene scene)
{
scene.ForEachScenePresence(
delegate(ScenePresence sp)
{
pending.AppendFormat("{0}: {1} {2} pending\n",
scene.RegionInfo.RegionName, sp.Name, sp.SceneViewer.GetPendingObjectsCount());
}
);
}
);
MainConsole.Instance.Output(pending.ToString());
break;
case "modules": case "modules":
MainConsole.Instance.Output("The currently loaded shared modules are:"); MainConsole.Instance.Output("The currently loaded shared modules are:");
foreach (IRegionModule module in m_moduleLoader.GetLoadedSharedModules) foreach (IRegionModule module in m_moduleLoader.GetLoadedSharedModules)

View File

@ -36,5 +36,6 @@ namespace OpenSim.Region.Framework.Interfaces
void Close(); void Close();
void QueuePartForUpdate(SceneObjectPart part); void QueuePartForUpdate(SceneObjectPart part);
void SendPrimUpdates(); void SendPrimUpdates();
int GetPendingObjectsCount();
} }
} }

View File

@ -205,6 +205,14 @@ namespace OpenSim.Region.Framework.Scenes
Reset(); Reset();
} }
public int GetPendingObjectsCount()
{
if (m_pendingObjects != null)
return m_pendingObjects.Count;
return 0;
}
public class ScenePartUpdate public class ScenePartUpdate
{ {
public UUID FullID; public UUID FullID;