OsGetRegionStats

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Added Example Script and Related Info)
 
 
(46 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Code provided by Implementor:  Godfrey and Implemented in Git Hash 9d05962029fe864408d287d5fa7ef81f312e098a, - Rev 11601
+
{{osslfunc
 
+
|threat_level=Moderate
<source lang="">default
+
|permissions=${OSSL&#124;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()
+
    state_entry()
{
+
    {
llSetTimerEvent( 5.0 );
+
        llSetTimerEvent(5.0);
}
+
    }
 
   
 
   
timer()
+
    timer()
{
+
    {
list Stats = osGetRegionStats();
+
        list Stats = osGetRegionStats();
string s = "Sim FPS: " + (string) llList2Float( Stats, STATS_SIM_FPS ) + "\n";
+
        string s = "Sim FPS: " + (string)llList2Float( Stats, STATS_SIM_FPS) + "\n";
s += "Physics FPS: " + (string) llList2Float( Stats, STATS_PHYSICS_FPS ) + "\n";
+
        s += "Physics FPS: " + (string)llList2Float( Stats, STATS_PHYSICS_FPS) + "\n";
s += "Time Dilation: " + (string) llList2Float( Stats, STATS_TIME_DILATION ) + "\n";
+
        s += "Time Dilation: " + (string)llList2Float( Stats, STATS_TIME_DILATION) + "\n";
s += "Root Agents: " + (string) llList2Integer( Stats, STATS_ROOT_AGENTS ) + "\n";
+
        s += "Root Agents: " + (string)llList2Integer( Stats, STATS_ROOT_AGENTS) + "\n";
s += "Child Agents: " + (string) llList2Integer( Stats, STATS_CHILD_AGENTS ) + "\n";
+
        s += "Child Agents: " + (string)llList2Integer( Stats, STATS_CHILD_AGENTS) + "\n";
s += "Total Prims: " + (string) llList2Integer( Stats, STATS_TOTAL_PRIMS ) + "\n";
+
        s += "Total Prims: " + (string)llList2Integer( Stats, STATS_TOTAL_PRIMS) + "\n";
s += "Active Scripts: " + (string) llList2Integer( Stats, STATS_ACTIVE_SCRIPTS ) + "\n";
+
        s += "Active Scripts: " + (string)llList2Integer( Stats, STATS_ACTIVE_SCRIPTS) + "\n";
s += "Script LPS: " + (string) llList2Float( Stats, STATS_SCRIPT_LPS );
+
        s += "Script Events per Sec: " + (string)llList2Float( Stats, STATS_SCRIPT_EPS);
llSetText( s, <0.0,1.0,0.0>, 1.0 );
+
        llSetText(s, <0.0, 1.0, 0.0>, 1.0);
}
+
    }
 
}</source>
 
}</source>
 +
 +
<source lang="lsl">
 +
// llGetRegionStats() example script
 +
//
 +
// Displays certain region statistics in Dynamic Texture.
 +
//
 +
 +
// ### Config ###
 +
string TextColor = "White";                                // text color
 +
integer TextSize = 8;                                      // text size
 +
string SetupScreen = "width:256,height:256,bgcolour:Black"; // width of the image, height of the image, background color
 +
integer RepetitionTime  = 30.0;                            // repetition time
 +
 +
default
 +
{
 +
    state_entry()
 +
    {
 +
        llSetTimerEvent(RepetitionTime);
 +
    }
 +
 +
    timer()
 +
    {
 +
        list Stats = osGetRegionStats();
 +
 +
        string myText = "Sim FPS: " + (string)llList2Float( Stats, STATS_SIM_FPS) + "\n";
 +
        myText += "Physics FPS: " + (string)llList2Float( Stats, STATS_PHYSICS_FPS) + "\n";
 +
        myText += "Time Dilation: " + (string)llList2Float( Stats, STATS_TIME_DILATION) + "\n";
 +
        myText += "Root Agents: " + (string)llList2Integer( Stats, STATS_ROOT_AGENTS) + "\n";
 +
        myText += "Child Agents: " + (string)llList2Integer( Stats, STATS_CHILD_AGENTS) + "\n";
 +
        myText += "Total Prims: " + (string)llList2Integer( Stats, STATS_TOTAL_PRIMS) + "\n";
 +
        myText += "Active Scripts: " + (string)llList2Integer( Stats, STATS_ACTIVE_SCRIPTS) + "\n";
 +
        myText += "Script LPS: " + (string)llList2Float( Stats, STATS_SCRIPT_LPS) + "\n";
 +
        myText += "Image MS: " + (string)llList2Float( Stats, STATS_IMAGE_MS) + "\n";
 +
        myText += "Other MS: " + (string)llList2Float( Stats, STATS_OTHER_MS) + "\n";
 +
        myText += "In Packets Per Second: " + (string)llList2Float( Stats, STATS_IN_PACKETS_PER_SECOND) + "\n";
 +
        myText += "Agent Updates: " + (string)llList2Float( Stats, STATS_AGENT_UPDATES) + "\n";
 +
        myText += "Out Packets Per Second: " + (string)llList2Float( Stats, STATS_OUT_PACKETS_PER_SECOND) + "\n";
 +
        myText += "Unpacked Bytes: " + (string)llList2Float( Stats, STATS_UNACKED_BYTES) + "\n";
 +
        myText += "Child Agents: " + (string)llList2Float( Stats, STATS_CHILD_AGENTS) + "\n";
 +
        myText += "Agent MS: " + (string)llList2Float( Stats, STATS_AGENT_MS) + "\n";
 +
        myText += "Pending Downloads: " + (string)llList2Float( Stats, STATS_PENDING_DOWNLOADS) + "\n";
 +
        myText += "Active Prims: " + (string)llList2Float( Stats, STATS_ACTIVE_PRIMS) + "\n";
 +
        myText += "Pending Uploads: " + (string)llList2Float( Stats, STATS_PENDING_UPLOADS) + "\n";
 +
        myText += "Frame MS: " + (string)llList2Float( Stats, STATS_FRAME_MS) + "\n";
 +
        myText += "Net MS: " + (string)llList2Float( Stats, STATS_NET_MS) + "\n";
 +
        myText += "Physics MS: " + (string)llList2Float( Stats, STATS_PHYSICS_MS) + "\n";
 +
 +
        string CommandList = ""; // Storage for our drawing commands
 +
 +
        CommandList = osMovePen( CommandList, 5, 5 );              // Upper left corner
 +
        CommandList = osSetFontSize( CommandList, TextSize );      // font size
 +
        CommandList = osSetPenColor( CommandList, TextColor );      // text color
 +
        CommandList = osDrawText( CommandList, myText );            // some text
 +
 +
        // Now draw the image
 +
        osSetDynamicTextureData( "", "vector", CommandList, SetupScreen, 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:
 +
 +
|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.
 +
 +
Note that "STATS_TOTAL_PRIMS" reports worn prims also.
 +
 +
STATS_SCRIPT_LPS always returns 0 in version 0.9.2
 +
 +
Code provided by Implementor:&nbsp; Godfrey and Implemented in Git Hash 9d05962029fe864408d287d5fa7ef81f312e098a, - Rev 11601
 +
|
 +
}}
 +
 +
{| style="white-space:nowrap;border:1px solid #ccc; width:100%;" cellspacing="2" border="1"
 +
|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_SIM_SLEEP
 +
|20
 +
|-
 +
|STATS_PHYSICS_MS
 +
|10
 +
|STATS_SCRIPT_EPS {{new}}
 +
|28
 +
|-
 +
|STATS_SCRIPT_TIME
 +
|37
 +
|STATS_SCRIPT_LPS
 +
|38
 +
|-
 +
|STATS_SCRIPT_NPCS {{new}}
 +
|47
 +
|
 +
|
 +
|-
 +
|}
 +
 +
[[Category:OSSL pages in need of parameters template]]

Latest revision as of 18:28, 22 July 2021

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 Events per Sec: " + (string)llList2Float( Stats, STATS_SCRIPT_EPS);
        llSetText(s, <0.0, 1.0, 0.0>, 1.0);
    }
}
// llGetRegionStats() example script
//
// Displays certain region statistics in Dynamic Texture.
//
 
// ### Config ###
string TextColor = "White";                                 // text color
integer TextSize = 8;                                       // text size
string SetupScreen = "width:256,height:256,bgcolour:Black"; // width of the image, height of the image, background color
integer RepetitionTime  = 30.0;                             // repetition time
 
default
{
    state_entry()
    {
        llSetTimerEvent(RepetitionTime);
    }
 
    timer()
    {
        list Stats = osGetRegionStats();
 
        string myText = "Sim FPS: " + (string)llList2Float( Stats, STATS_SIM_FPS) + "\n";
        myText += "Physics FPS: " + (string)llList2Float( Stats, STATS_PHYSICS_FPS) + "\n";
        myText += "Time Dilation: " + (string)llList2Float( Stats, STATS_TIME_DILATION) + "\n";
        myText += "Root Agents: " + (string)llList2Integer( Stats, STATS_ROOT_AGENTS) + "\n";
        myText += "Child Agents: " + (string)llList2Integer( Stats, STATS_CHILD_AGENTS) + "\n";
        myText += "Total Prims: " + (string)llList2Integer( Stats, STATS_TOTAL_PRIMS) + "\n";
        myText += "Active Scripts: " + (string)llList2Integer( Stats, STATS_ACTIVE_SCRIPTS) + "\n";
        myText += "Script LPS: " + (string)llList2Float( Stats, STATS_SCRIPT_LPS) + "\n";
        myText += "Image MS: " + (string)llList2Float( Stats, STATS_IMAGE_MS) + "\n";
        myText += "Other MS: " + (string)llList2Float( Stats, STATS_OTHER_MS) + "\n";
        myText += "In Packets Per Second: " + (string)llList2Float( Stats, STATS_IN_PACKETS_PER_SECOND) + "\n";
        myText += "Agent Updates: " + (string)llList2Float( Stats, STATS_AGENT_UPDATES) + "\n";
        myText += "Out Packets Per Second: " + (string)llList2Float( Stats, STATS_OUT_PACKETS_PER_SECOND) + "\n";
        myText += "Unpacked Bytes: " + (string)llList2Float( Stats, STATS_UNACKED_BYTES) + "\n";
        myText += "Child Agents: " + (string)llList2Float( Stats, STATS_CHILD_AGENTS) + "\n";
        myText += "Agent MS: " + (string)llList2Float( Stats, STATS_AGENT_MS) + "\n";
        myText += "Pending Downloads: " + (string)llList2Float( Stats, STATS_PENDING_DOWNLOADS) + "\n";
        myText += "Active Prims: " + (string)llList2Float( Stats, STATS_ACTIVE_PRIMS) + "\n";
        myText += "Pending Uploads: " + (string)llList2Float( Stats, STATS_PENDING_UPLOADS) + "\n";
        myText += "Frame MS: " + (string)llList2Float( Stats, STATS_FRAME_MS) + "\n";
        myText += "Net MS: " + (string)llList2Float( Stats, STATS_NET_MS) + "\n";
        myText += "Physics MS: " + (string)llList2Float( Stats, STATS_PHYSICS_MS) + "\n";
 
        string CommandList = ""; // Storage for our drawing commands
 
        CommandList = osMovePen( CommandList, 5, 5 );               // Upper left corner
        CommandList = osSetFontSize( CommandList, TextSize );       // font size
        CommandList = osSetPenColor( CommandList, TextColor );      // text color
        CommandList = osDrawText( CommandList, myText );            // some text
 
        // Now draw the image
        osSetDynamicTextureData( "", "vector", CommandList, SetupScreen, 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.

Note that "STATS_TOTAL_PRIMS" reports worn prims also.

STATS_SCRIPT_LPS always returns 0 in version 0.9.2

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_SIM_SLEEP 20
STATS_PHYSICS_MS 10 STATS_SCRIPT_EPS  NEW!  28
STATS_SCRIPT_TIME 37 STATS_SCRIPT_LPS 38
STATS_SCRIPT_NPCS  NEW!  47
Personal tools
General
About This Wiki