Monitoring Module

From OpenSimulator

Revision as of 16:13, 5 June 2012 by Justincc (Talk | contribs)

Jump to: navigation, search

Contents

Introduction

This facility provides a way to retrieve data per region.

Enabling

In OpenSimulator 0.7.2 it is always active. In current development code it is active by default but can be disabled by setting

[Monitoring]
Enabled = false

Retrieving data

OpenSimulator 0.7.2 and earlier

In OpenSimulator 0.7.2 and earlier, each region will register a URL on the built-in OpenSimulator HTTP server with the format

/monitorstats/<region-uuid>

If you type

show http-handlers

on the region console you'll see something like this in the HTTP section

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

where the UUID following monitorstats corresponds to the region ID.

OpenSimulator development code

In OpenSimulator development code, the region data can also be accessed via region name. Therefore, typing

show http-handlers

will return something like

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

where the data can also be retrieved via region name (test and test2).

Retrieved data

General

Stat name Descriptoin
AgentCountMonitor Number of avatars in the region.
ChildAgentCountMonitor Number of child agents in the region. These are used by viewers with avatars in neighbouring regions in order to see into and effect the neighbouring region.
GCMemoryMonitor Amount of memory currently allocated to the virtual machine garbage collector.
ObjectCountMonitor Number of prims in the region.
PWSMemoryMonitor Virtual Machine Private Working Set memory
ThreadCountMonitor Number of threads used by the current process. May be unimplemented (hence always zero) on Mono.
TotalFrameMonitor Time taken in milliseconds for the last frame. In OpenSimulator 0.7.3.1 and before this did not include the spare frame time. In later versions of OpenSimulator this does include the spare frame time.
EventFrameMonitor Event processing time in milliseconds for the last frame.
LandFrameMonitor Land related processing time in milliseconds for the last frame.
LastFrameTimeMonitor The number of milliseconds since the last region frame was completed.
TimeDilationMonitor Time dilation of physics processing compared to main scene processing.
SimFPSMonitor Frames per second processed by the scene.
PhysicsFPSMonitor Frames per second processed by physics code.
AgentUpdatesPerSecondMonitor Updates sent to viewers per second.
ActiveObjectCountMonitor Objects subject to physics.
ActiveScriptsMonitor Scripts running in the region
ScriptEventsPerSecondMonitor Script events processed per second.
InPacketsPerSecondMonitor UDP packets from viewers processed per second.
OutPacketsPerSecondMonitor UDP packets sent to viewers per second
UnackedBytesMonitor Bytes that haven't yet been acked by viewers. A persistent high number indicates poor network connections between the viewers and the simulator.
PendingDownloadsMonitor Downloads pending from simulator to viewers. Not currently implemented, will always be zero.
PendingUploadsMonitor Pending uploads from viewers to simulator. Not currently implemented, will always be zero.
TotalFrameTimeMonitor Average time taken in milliseconds for frames in the last 3 seconds. In OpenSimulator 0.7.3.1 and before this did not include the spare frame time and wrongly referred to the total amount of a second that constituted non-spare frame time. In later versions of OpenSimulator this correctly refers to the frame time and includes the spare frame time.
NetFrameTimeMonitor Average time taken in milliseconds for network activities in frames in the last 3 seconds. Not currently used.
SimulationFrameTimeMonitor Average time taken in milliseconds for frame-related simulation activity in the last 3 seconds. In OpenSimulator 0.7.3.1 and before this wrongly referred to the total amount of a second that constituted simulation time.
AgentFrameTimeMonitor Average time taken in milliseconds for agent-related activity in the last 3 seconds. In OpenSimulator 0.7.3.1 and before this wrongly referred to the total amount of a second that constituted agent time.
ImagesFrameTimeMonitor Not used by OpenSimulator
LastReportedObjectUpdates Currently unused.

More to follow

Physics

The following physics stats are always present.

PhysicsFrameMonitor Obsolete. Same as PhysicsFrameTimeMonitor
PhysicsFrameTimeMonitor Average amount of time taken by physics processing per frame

More to follow

Examples

OpenSimulator 0.7.2 and earlier

On OpenSimulator 0.7.2 and earlier, fetching

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

will return something like

<?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 and later

In current development code, more statistics have been added, so instead you'll see something like

<?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