OsGetRegionStats

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Documented the function more completely, including the constants used to address the returned list elements. Added templates.)
m (Syntax)
(17 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Template:Quicklinks}}
+
{{osslfunc
[[Technical Reference | Technical Reference]] -> [[Technical Reference/terms | Terms]] -> [[Status | Status Page]] -> [[OSSL_Implemented| OSSL Implemented Functions]] -> [[OsGetRegionStatistics|osGetRegionStatistics]]
+
|threat_level=Moderate
 +
|permissions=${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
 +
|delay=0
 +
|function_syntax=list osGetRegionStats()
 +
|ossl_example=<source lang="lsl">
 +
// 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);
 +
    }
 +
}</source>
 +
|description=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.
  
 +
The elements in the list may be referred to by the following new LSL constants:
  
LSL: '''[[list]] osGetRegionStats()'''<br />
+
|additional_info=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.
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).
+
Notes that "STATS_TOTAL_PRIMS" reports worn prims also.
  
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.
+
Code provided by Implementor:&nbsp; Godfrey and Implemented in Git Hash 9d05962029fe864408d287d5fa7ef81f312e098a, - Rev 11601
 
+
|
The elements in the list may be referred to by the following new LSL constants:
+
}}
  
{| style="white-space:nowrap;margin-left:3em;border:1px solid black" cellspacing="0" border="1"
+
{| style="white-space:nowrap;border:1px solid #ccc; width:100%;" cellspacing="2" border="1"
 
|STATS_TIME_DILATION
 
|STATS_TIME_DILATION
 
|0
 
|0
Line 69: Line 99:
 
|}
 
|}
  
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.
+
[[Category:OSSL pages in need of parameters template]]
 
+
Code provided by Implementor:&nbsp; Godfrey and Implemented in Git Hash 9d05962029fe864408d287d5fa7ef81f312e098a, - Rev 11601
+
 
+
Example script:
+
 
+
<source lang="lsl">
+
// 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 );
+
    }
+
}</source>
+

Revision as of 15:25, 27 January 2020

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.

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

Threat Level Moderate
Permissions ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Extra Delay 0 seconds
Example(s)
// 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);
    }
}
Notes
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.

Notes that "STATS_TOTAL_PRIMS" reports worn prims also.

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


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
Personal tools
General
About This Wiki