OsGetRegionStats
From OpenSimulator
Technical Reference -> Terms -> Status Page -> OSSL Implemented Functions -> osGetRegionStats
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 ); } }