Monitoring Module/de

From OpenSimulator

Jump to: navigation, search

Contents

Einleitung

Diese Funktion bietet eine Möglichkeit, Daten pro Region abzurufen.

HINWEIS: Diese Funktion ist veraltet und könnte in zukünftigen Versionen des Simulators entfernt werden. Siehe Monitoring für Informationen zu den aktuellen Monitoring-Schnittstellen.

Aktivierung

In OpenSimulator 0.7.2 ist sie immer aktiv. Im aktuellen Entwicklungscode ist sie standardmäßig aktiv, kann aber deaktiviert werden durch

[Monitoring]
Enabled = false

Daten abrufen

OpenSimulator 0.7.2 und früher

In OpenSimulator 0.7.2 und früher registriert jede Region eine URL auf dem eingebauten HTTP-Server von OpenSimulator im Format

/monitorstats/<region-uuid>

Wenn du

show http-handlers

in der Region-Konsole eingibst, siehst du im HTTP-Abschnitt etwa Folgendes:

/monitorstats/dd5b77f8-bf88-45ac-aace-35bd76426c81 
/SStats/ 
/CAPS/VS/ 
regionImagedd5b77f8bf8845acaace35bd76426c81 
/monitorstats/dd5b77f8-bf88-45ac-aace-35bd76426c82 
regionImagedd5b77f8bf8845acaace35bd76426c82

wobei die UUID nach monitorstats der Regions-ID entspricht.

OpenSimulator Entwicklungscode

Im Entwicklungscode von OpenSimulator können Regionsdaten auch über den Regionsnamen abgerufen werden. Daher ergibt die Eingabe von

show http-handlers

etwa Folgendes:

/monitorstats/dd5b77f8-bf88-45ac-aace-35bd76426c81 
/monitorstats/test 
/SStats/ 
/CAPS/VS/ 
regionImagedd5b77f8bf8845acaace35bd76426c81 
/monitorstats/dd5b77f8-bf88-45ac-aace-35bd76426c82 
/monitorstats/test2 
regionImagedd5b77f8bf8845acaace35bd76426c82 

wobei die Daten auch über den Regionsnamen (test und test2) abgerufen werden können.

Abgerufene Daten

Allgemein

Stat name Beschreibung
AgentCountMonitor Anzahl der Avatare in der Region.
ChildAgentCountMonitor Anzahl der Child Agents in der Region. Diese werden von Viewern mit Avataren in benachbarten Regionen verwendet, um in die Nachbarregion zu sehen und sie zu beeinflussen.
GCMemoryMonitor Menge des aktuell vom Garbage Collector der virtuellen Maschine belegten Speichers.
ObjectCountMonitor Anzahl der Prims in der Region.
PWSMemoryMonitor Private Working Set Speicher der virtuellen Maschine.
ThreadCountMonitor Anzahl der vom aktuellen Prozess verwendeten Threads. Unter Mono möglicherweise nicht implementiert (daher immer null).
TotalFrameMonitor Zeit in Millisekunden für das letzte Frame. In OpenSimulator 0.7.3.1 und früher war die Reserve-Frame-Zeit nicht enthalten. In späteren Versionen ist sie enthalten.
EventFrameMonitor Zeit für die Ereignisverarbeitung im letzten Frame in Millisekunden.
LandFrameMonitor Zeit für landbezogene Verarbeitung im letzten Frame in Millisekunden.
LastFrameTimeMonitor Anzahl der Millisekunden seit Abschluss des letzten Region-Frames.
TimeDilationMonitor Zeitdilatation der Physikverarbeitung im Vergleich zur Hauptszenenverarbeitung.
SimFPSMonitor Frames pro Sekunde, die von der Szene verarbeitet werden.
AgentUpdatesPerSecondMonitor Updates pro Sekunde, die an Viewer gesendet werden.
ActiveObjectCountMonitor Objekte, die der Physik unterliegen.
ActiveScriptsMonitor Skripte, die in der Region ausgeführt werden.
ScriptEventsPerSecondMonitor Skript-Ereignisse pro Sekunde.
InPacketsPerSecondMonitor UDP-Pakete von Viewern, die pro Sekunde verarbeitet werden.
OutPacketsPerSecondMonitor UDP-Pakete, die pro Sekunde an Viewer gesendet werden.
UnackedBytesMonitor Bytes, die noch nicht von Viewern bestätigt wurden. Eine dauerhaft hohe Zahl weist auf schlechte Netzwerkverbindungen zwischen Viewern und Simulator hin.
PendingDownloadsMonitor Ausstehende Downloads vom Simulator zu Viewern. Derzeit nicht implementiert, daher immer null.
PendingUploadsMonitor Ausstehende Uploads von Viewern zum Simulator. Derzeit nicht implementiert, daher immer null.
TotalFrameTimeMonitor Durchschnittliche Zeit in Millisekunden für Frames in den letzten 3 Sekunden. In OpenSimulator 0.7.3.1 und früher wurde die Reserve-Frame-Zeit nicht berücksichtigt und fälschlich als Gesamtzeit eines Frames ohne Reservezeit angegeben. In späteren Versionen wird die Frame-Zeit korrekt angegeben und enthält die Reservezeit.
NetFrameTimeMonitor Durchschnittliche Zeit in Millisekunden für Netzwerkaktivitäten in Frames der letzten 3 Sekunden. Derzeit nicht verwendet.
SimulationFrameTimeMonitor Durchschnittliche Zeit in Millisekunden für simulationsbezogene Aktivitäten in Frames der letzten 3 Sekunden. In OpenSimulator 0.7.3.1 und früher fälschlich als Gesamtzeit eines Frames für Simulation angegeben.
AgentFrameTimeMonitor Durchschnittliche Zeit in Millisekunden für agentenbezogene Aktivitäten in den letzten 3 Sekunden. In OpenSimulator 0.7.3.1 und früher fälschlich als Gesamtzeit eines Frames für Agenten angegeben.
ImagesFrameTimeMonitor Wird von OpenSimulator nicht verwendet.
LastReportedObjectUpdates Derzeit nicht verwendet.

Physik

Alle Zeiten pro Frame beziehen sich hier auf einen Durchschnitt über die letzten 3 Sekunden.

Die folgenden Statistiken sind immer vorhanden:

PhysicsFPSMonitor Frames pro Sekunde, die vom Physik-Code verarbeitet werden.
PhysicsFrameMonitor Veraltet. Entspricht PhysicsFrameTimeMonitor.
PhysicsFrameTimeMonitor Durchschnittliche Zeit für die Physikverarbeitung.

Die folgenden Statistiken sind nur vorhanden, wenn collect_stats = true im Abschnitt [ODEPhysicsSettings] der OpenSim.ini gesetzt ist (ab git master 6375db1, nach OpenSimulator 0.7.3.1 Entwicklungscode). Diese Statistiken sind experimentell und können sich ändern.

ODETotalFrameMS ODE Physikverarbeitung. Sollte mit PhysicsFrameTimeMonitor übereinstimmen.
ODEAvatarTaintFrameMS Verarbeitung von Avatar-Taint.
ODEPrimTaintFrameMS Verarbeitung von Prim-Taint.
ODEAvatarForcesFrameMS Berechnung von Avatar-Kräften.
ODEPrimForcesFrameMS Berechnung von Prim-Kräften.
ODERaycastingFrameMS Raycasting.
ODENativeStepFrameMS Zeit für einen Physikschritt durch nativen ODE-Code.
ODENativeSpaceCollisionFrameMS Berechnung möglicher Kollisionen über Räume im nativen ODE-Code.
ODENativeGeomCollisionFrameMS Auflösung tatsächlicher Kollisionen zwischen Geometrien im nativen ODE-Code.
ODEOtherCollisionFrameMS Verarbeitung von Kollisionen, die nicht durch andere „Native“-Maßnahmen abgedeckt sind. Dies betrifft hauptsächlich Operationen im OpenSimulator-Plugin selbst, obwohl einige native ODE-Funktionen weiterhin aufgerufen werden.
ODECollisionNotificationFrameMS Benachrichtigung anderer Teile von OpenSimulator über Kollisionen außerhalb des ODE-Plugins.
ODEAvatarUpdateFrameMS Zeit zur Verarbeitung von Avatar-Updates aus dem Physik-Code.
ODEPrimUpdateFrameMS Zeit zur Verarbeitung von Prim-Updates aus dem Physik-Code.
ODEAvatarContacts Anzahl der durch Avatare verursachten Kollisionskontakte im letzten 3-Sekunden-Zeitraum. Es kann mehr als einen Kontakt pro Kollision geben.
ODEPrimContacts Anzahl der durch Prims verursachten Kollisionskontakte im letzten 3-Sekunden-Zeitraum. Es kann mehr als einen Kontakt pro Kollision geben.
ODETotalAvatars Anzahl der von der Physik modellierten Avatare. Sollte mit AgentCountMonitor übereinstimmen.
ODETotalPrims Anzahl der nicht-phantomhaften Prims. Beinhaltet sowohl Physik-Prims als auch kollidierbare Prims ohne Physik. Phantom-Prims sind nicht enthalten, da sie keine Repräsentation in der Physikszene haben.
ODEActivePrims Anzahl der Prims, die der Physik unterliegen. Sollte mit ActiveObjectCountMonitor übereinstimmen.


Beispiele

OpenSimulator 0.7.2 und früher

Unter OpenSimulator 0.7.2 und früher liefert der Abruf von

http://192.168.1.2:9000/dd5b77f8-bf88-45ac-aace-35bd76426c81

etwa Folgendes:

<?xml version="1.0"?>
<data>
  <AgentCountMonitor>0</AgentCountMonitor>
  <ChildAgentCountMonitor>0</ChildAgentCountMonitor>
  <GCMemoryMonitor>32358400</GCMemoryMonitor>
  <ObjectCountMonitor>0</ObjectCountMonitor>
  <PhysicsFrameMonitor>0</PhysicsFrameMonitor>
  <PhysicsUpdateFrameMonitor>0</PhysicsUpdateFrameMonitor>
  <PWSMemoryMonitor>354172928</PWSMemoryMonitor>
  <ThreadCountMonitor>0</ThreadCountMonitor>
  <TotalFrameMonitor>1</TotalFrameMonitor>
  <EventFrameMonitor>0</EventFrameMonitor>
  <LandFrameMonitor>0</LandFrameMonitor>
  <LastFrameTimeMonitor>87</LastFrameTimeMonitor>
</data>

OpenSimulator 0.7.3 und höher

Im aktuellen Entwicklungscode wurden weitere Statistiken hinzugefügt, sodass Sie stattdessen etwas wie

<?xml version="1.0"?>
<data>
  <AgentCountMonitor>0</AgentCountMonitor>
  <ChildAgentCountMonitor>0</ChildAgentCountMonitor>
  <GCMemoryMonitor>32358400</GCMemoryMonitor>
  <ObjectCountMonitor>0</ObjectCountMonitor>
  <PhysicsFrameMonitor>0</PhysicsFrameMonitor>
  <PhysicsUpdateFrameMonitor>0</PhysicsUpdateFrameMonitor>
  <PWSMemoryMonitor>354172928</PWSMemoryMonitor>
  <ThreadCountMonitor>0</ThreadCountMonitor>
  <TotalFrameMonitor>1</TotalFrameMonitor>
  <EventFrameMonitor>0</EventFrameMonitor>
  <LandFrameMonitor>0</LandFrameMonitor>
  <LastFrameTimeMonitor>87</LastFrameTimeMonitor>
  <TimeDilationMonitor>1</TimeDilationMonitor>
  <SimFPSMonitor>56.6666679382324</SimFPSMonitor>
  <PhysicsFPSMonitor>46.9475212097168</PhysicsFPSMonitor>
  <AgentUpdatesPerSecondMonitor>0</AgentUpdatesPerSecondMonitor>
  <ActiveObjectCountMonitor>0</ActiveObjectCountMonitor>
  <ActiveScriptsMonitor>0</ActiveScriptsMonitor>
  <ScriptEventsPerSecondMonitor>0</ScriptEventsPerSecondMonitor>
  <InPacketsPerSecondMonitor>0</InPacketsPerSecondMonitor>
  <OutPacketsPerSecondMonitor>0</OutPacketsPerSecondMonitor>
  <UnackedBytesMonitor>0</UnackedBytesMonitor>
  <PendingDownloadsMonitor>0</PendingDownloadsMonitor>
  <PendingUploadsMonitor>0</PendingUploadsMonitor>
  <TotalFrameTimeMonitor>0</TotalFrameTimeMonitor>
  <NetFrameTimeMonitor>0</NetFrameTimeMonitor>
  <PhysicsFrameTimeMonitor>0</PhysicsFrameTimeMonitor>
  <SimulationFrameTimeMonitor>0</SimulationFrameTimeMonitor>
  <AgentFrameTimeMonitor>0</AgentFrameTimeMonitor>
  <ImagesFrameTimeMonitor>0</ImagesFrameTimeMonitor>
</data>
Personal tools
General
About This Wiki