OsGetRegionStats

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m
m (Removed 'Template:' prefix from template includings and/or changed external-link into internal-link)
Line 1: Line 1:
{{Template:Quicklinks}}
+
{{Quicklinks}}
  
 
LSL: '''[[list]] osGetRegionStats()'''<br />
 
LSL: '''[[list]] osGetRegionStats()'''<br />

Revision as of 15:25, 10 June 2011

LSL: list osGetRegionStats()
C#: LSL_List osGetRegionStats()

Returns a list of float values representing a number of region statistics (many of the values shown in the "Stats Bar" of LL-based clients). Provides similar functionality to llGetRegionFPS() and llGetRegionTimeDilation(), but returns 21 statistics simultaneously.

This function has a threat level of Moderate, to prevent griefing scripts from obtaining metrics to gauge their own effectiveness. Please see the threat level page for information on how to enable the use of this function securely.

The elements in the list may be referred to by the following new LSL constants:

STATS_TIME_DILATION 0 STATS_IMAGE_MS 11
STATS_SIM_FPS 1 STATS_OTHER_MS 12
STATS_PHYSICS_FPS 2 STATS_IN_PACKETS_PER_SECOND 13
STATS_AGENT_UPDATES 3 STATS_OUT_PACKETS_PER_SECOND 14
STATS_ROOT_AGENTS 4 STATS_UNACKED_BYTES 15
STATS_CHILD_AGENTS 5 STATS_AGENT_MS 16
STATS_TOTAL_PRIMS 6 STATS_PENDING_DOWNLOADS 17
STATS_ACTIVE_PRIMS 7 STATS_PENDING_UPLOADS 18
STATS_FRAME_MS 8 STATS_ACTIVE_SCRIPTS 19
STATS_NET_MS 9 STATS_SCRIPT_LPS 20
STATS_PHYSICS_MS 10

Please note that as of November 2009, some of the elements in the array (to wit, the STATS_*_MS values) do not appear to contain useful information.

Code provided by Implementor:  Godfrey and Implemented in Git Hash 9d05962029fe864408d287d5fa7ef81f312e098a, - Rev 11601

Example script:

// llGetRegionStats() example script
//
// Displays certain region statistics in hovertext above the prim containing the script.
//
default
{
    state_entry()
    {
        llSetTimerEvent( 5.0 );
    }
 
    timer()
    {
        list Stats = osGetRegionStats();
        string s = "Sim FPS: " + (string) llList2Float( Stats, STATS_SIM_FPS ) + "\n";
        s += "Physics FPS: " + (string) llList2Float( Stats, STATS_PHYSICS_FPS ) + "\n";
        s += "Time Dilation: " + (string) llList2Float( Stats, STATS_TIME_DILATION ) + "\n";
        s += "Root Agents: " + (string) llList2Integer( Stats, STATS_ROOT_AGENTS ) + "\n";
        s += "Child Agents: " + (string) llList2Integer( Stats, STATS_CHILD_AGENTS ) + "\n";
        s += "Total Prims: " + (string) llList2Integer( Stats, STATS_TOTAL_PRIMS ) + "\n";
        s += "Active Scripts: " + (string) llList2Integer( Stats, STATS_ACTIVE_SCRIPTS ) + "\n";
        s += "Script LPS: " + (string) llList2Float( Stats, STATS_SCRIPT_LPS );
        llSetText( s, <0.0,1.0,0.0>, 1.0 );
    }
}
Personal tools
General
About This Wiki