OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Types | Public Member Functions | Public Attributes | Properties | Events | List of all members
OpenSim.Region.Framework.Scenes.SimStatsReporter Class Reference

Collect statistics from the scene to send to the client and for access by other monitoring tools. More...

Public Types

enum  Stats : uint {
  Stats.TimeDilation = 0, Stats.SimFPS = 1, Stats.PhysicsFPS = 2, Stats.AgentUpdates = 3,
  Stats.FrameMS = 4, Stats.NetMS = 5, Stats.OtherMS = 6, Stats.PhysicsMS = 7,
  Stats.AgentMS = 8, Stats.ImageMS = 9, Stats.ScriptMS = 10, Stats.TotalPrim = 11,
  Stats.ActivePrim = 12, Stats.Agents = 13, Stats.ChildAgents = 14, Stats.ActiveScripts = 15,
  Stats.LSLScriptLinesPerSecond = 16, Stats.InPacketsPerSecond = 17, Stats.OutPacketsPerSecond = 18, Stats.PendingDownloads = 19,
  Stats.PendingUploads = 20, Stats.VirtualSizeKb = 21, Stats.ResidentSizeKb = 22, Stats.PendingLocalUploads = 23,
  Stats.UnAckedBytes = 24, Stats.PhysicsPinnedTasks = 25, Stats.PhysicsLodTasks = 26, Stats.SimPhysicsStepMs = 27,
  Stats.SimPhysicsShapeMs = 28, Stats.SimPhysicsOtherMs = 29, Stats.SimPhysicsMemory = 30, Stats.ScriptEps = 31,
  Stats.SimSpareMs = 32, Stats.SimSleepMs = 33, Stats.SimIoPumpTime = 34, Stats.SimPCTSscriptsRun = 35,
  Stats.SimRegionIdle = 36, Stats.SimRegionIdlePossible = 37, Stats.SimAIStepTimeMS = 38, Stats.SimSkippedSillouet_PS = 39,
  Stats.SimSkippedCharsPerC = 40, Stats.SimExtraCountStart = 1000, Stats.internalLSLScriptLinesPerSecond = 1000, Stats.FrameDilation2 = 1001,
  Stats.UsersLoggingIn = 1002, Stats.TotalGeoPrim = 1003, Stats.TotalMesh = 1004, Stats.ThreadCount = 1005,
  Stats.SimExtraCountEnd = 1006
}
 These are the IDs of stats sent in the StatsPacket to the viewer. More...
 

Public Member Functions

delegate void SendStatResult (SimStats stats)
 
delegate void YourStatsAreWrong ()
 
 SimStatsReporter (Scene scene)
 
void Close ()
 
void SetUpdateMS (int ms)
 Sets the number of milliseconds between stat updates. More...
 
void AddFrameStats (float _timeDilation, float _physicsFPS, float _agentMS, float _physicsMS, float _otherMS, float _sleepMS, float _frameMS, float _scriptTimeMS)
 
void AddObjectUpdates (int numUpdates)
 
void AddAgentUpdates (int numUpdates)
 
void AddInPackets (int numPackets)
 
void AddOutPackets (int numPackets)
 
void AddunAckedBytes (int numBytes)
 
void addNetMS (float ms)
 
void addImageMS (float ms)
 
void AddPendingDownloads (int count)
 
void addScriptEvents (int count)
 
void AddPacketsStats (int inPackets, int outPackets, int unAckedBytes)
 
void UpdateUsersLoggingIn (bool isLoggingIn)
 
void SetThreadCount (int inUseThreads)
 
Dictionary< string, float > GetExtraSimStats ()
 

Public Attributes

const string LastReportedObjectUpdateStatName = "LastReportedObjectUpdates"
 
const string SlowFramesStatName = "SlowFrames"
 

Properties

float LastReportedSimFPS [get]
 This is for llGetRegionFPS More...
 
float LastReportedObjectUpdates [get, set]
 Number of object updates performed in the last stats cycle More...
 
float[] LastReportedSimStats [get]
 
Stat SlowFramesStat [get, set]
 Number of frames that have taken longer to process than Scene.MIN_FRAME_TIME More...
 
int SlowFramesStatReportThreshold [get, set]
 The threshold at which we log a slow frame. More...
 

Events

SendStatResult OnSendStatsResult
 
YourStatsAreWrong OnStatsIncorrect
 

Detailed Description

Collect statistics from the scene to send to the client and for access by other monitoring tools.

FIXME: This should be a monitoring region module

Definition at line 45 of file SimStatsReporter.cs.

Member Enumeration Documentation

These are the IDs of stats sent in the StatsPacket to the viewer.

Some of these are not relevant to OpenSimulator since it is architected differently to other simulators (e.g. script instructions aren't executed as part of the frame loop so 'script time' is tricky).

Enumerator
TimeDilation 
SimFPS 
PhysicsFPS 
AgentUpdates 
FrameMS 
NetMS 
OtherMS 
PhysicsMS 
AgentMS 
ImageMS 
ScriptMS 
TotalPrim 
ActivePrim 
Agents 
ChildAgents 
ActiveScripts 
LSLScriptLinesPerSecond 
InPacketsPerSecond 
OutPacketsPerSecond 
PendingDownloads 
PendingUploads 
VirtualSizeKb 
ResidentSizeKb 
PendingLocalUploads 
UnAckedBytes 
PhysicsPinnedTasks 
PhysicsLodTasks 
SimPhysicsStepMs 
SimPhysicsShapeMs 
SimPhysicsOtherMs 
SimPhysicsMemory 
ScriptEps 
SimSpareMs 
SimSleepMs 
SimIoPumpTime 
SimPCTSscriptsRun 
SimRegionIdle 
SimRegionIdlePossible 
SimAIStepTimeMS 
SimSkippedSillouet_PS 
SimSkippedCharsPerC 
SimExtraCountStart 
internalLSLScriptLinesPerSecond 
FrameDilation2 
UsersLoggingIn 
TotalGeoPrim 
TotalMesh 
ThreadCount 
SimExtraCountEnd 

Definition at line 78 of file SimStatsReporter.cs.

Constructor & Destructor Documentation

OpenSim.Region.Framework.Scenes.SimStatsReporter.SimStatsReporter ( Scene  scene)
inline

At the moment, we'll only report if a frame is over 120% of target, since commonly frames are a bit longer than ideal (which in itself is a concern).

Definition at line 259 of file SimStatsReporter.cs.

Member Function Documentation

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddAgentUpdates ( int  numUpdates)
inline

Definition at line 742 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddFrameStats ( float  _timeDilation,
float  _physicsFPS,
float  _agentMS,
float  _physicsMS,
float  _otherMS,
float  _sleepMS,
float  _frameMS,
float  _scriptTimeMS 
)
inline

Definition at line 699 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.addImageMS ( float  ms)
inline

Definition at line 769 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddInPackets ( int  numPackets)
inline

Definition at line 747 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.addNetMS ( float  ms)
inline

Definition at line 764 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddObjectUpdates ( int  numUpdates)
inline

Definition at line 737 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddOutPackets ( int  numPackets)
inline

Definition at line 752 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddPacketsStats ( int  inPackets,
int  outPackets,
int  unAckedBytes 
)
inline

Definition at line 789 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddPendingDownloads ( int  count)
inline

Definition at line 774 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.addScriptEvents ( int  count)
inline

Definition at line 784 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.AddunAckedBytes ( int  numBytes)
inline

Definition at line 757 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.Close ( )
inline

Definition at line 305 of file SimStatsReporter.cs.

Dictionary<string, float> OpenSim.Region.Framework.Scenes.SimStatsReporter.GetExtraSimStats ( )
inline

Definition at line 823 of file SimStatsReporter.cs.

delegate void OpenSim.Region.Framework.Scenes.SimStatsReporter.SendStatResult ( SimStats  stats)
void OpenSim.Region.Framework.Scenes.SimStatsReporter.SetThreadCount ( int  inUseThreads)
inline

Definition at line 814 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.SetUpdateMS ( int  ms)
inline

Sets the number of milliseconds between stat updates.

Parameters
ms

Definition at line 315 of file SimStatsReporter.cs.

void OpenSim.Region.Framework.Scenes.SimStatsReporter.UpdateUsersLoggingIn ( bool  isLoggingIn)
inline

Definition at line 796 of file SimStatsReporter.cs.

delegate void OpenSim.Region.Framework.Scenes.SimStatsReporter.YourStatsAreWrong ( )

Member Data Documentation

const string OpenSim.Region.Framework.Scenes.SimStatsReporter.LastReportedObjectUpdateStatName = "LastReportedObjectUpdates"

Definition at line 50 of file SimStatsReporter.cs.

const string OpenSim.Region.Framework.Scenes.SimStatsReporter.SlowFramesStatName = "SlowFrames"

Definition at line 51 of file SimStatsReporter.cs.

Property Documentation

float OpenSim.Region.Framework.Scenes.SimStatsReporter.LastReportedObjectUpdates
getset

Number of object updates performed in the last stats cycle

This isn't sent out to the client but it is very useful data to detect whether viewers are being sent a large number of object updates.

Definition at line 151 of file SimStatsReporter.cs.

float OpenSim.Region.Framework.Scenes.SimStatsReporter.LastReportedSimFPS
get

This is for llGetRegionFPS

Definition at line 140 of file SimStatsReporter.cs.

float [] OpenSim.Region.Framework.Scenes.SimStatsReporter.LastReportedSimStats
get

Definition at line 154 of file SimStatsReporter.cs.

Stat OpenSim.Region.Framework.Scenes.SimStatsReporter.SlowFramesStat
getset

Number of frames that have taken longer to process than Scene.MIN_FRAME_TIME

Definition at line 161 of file SimStatsReporter.cs.

int OpenSim.Region.Framework.Scenes.SimStatsReporter.SlowFramesStatReportThreshold
getset

The threshold at which we log a slow frame.

Definition at line 166 of file SimStatsReporter.cs.

Event Documentation

SendStatResult OpenSim.Region.Framework.Scenes.SimStatsReporter.OnSendStatsResult

Definition at line 57 of file SimStatsReporter.cs.

YourStatsAreWrong OpenSim.Region.Framework.Scenes.SimStatsReporter.OnStatsIncorrect

Definition at line 59 of file SimStatsReporter.cs.


The documentation for this class was generated from the following file: