<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=User%3AAllen_Kerensky%2FJSON_User_SimStats</id>
		<title>User:Allen Kerensky/JSON User SimStats - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=User%3AAllen_Kerensky%2FJSON_User_SimStats"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Allen_Kerensky/JSON_User_SimStats&amp;action=history"/>
		<updated>2026-04-21T12:07:07Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=User:Allen_Kerensky/JSON_User_SimStats&amp;diff=31834&amp;oldid=prev</id>
		<title>Allen Kerensky: added link to testpage</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Allen_Kerensky/JSON_User_SimStats&amp;diff=31834&amp;oldid=prev"/>
				<updated>2013-02-09T04:50:52Z</updated>
		
		<summary type="html">&lt;p&gt;added link to testpage&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 04:50, 9 February 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= JSON User SimStats =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= JSON User SimStats =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Archived here from [[Test Page]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;As of OpenSim svn 9529 the xtended stats reporting will return a jsonp&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;As of OpenSim svn 9529 the xtended stats reporting will return a jsonp&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Allen Kerensky</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=User:Allen_Kerensky/JSON_User_SimStats&amp;diff=31833&amp;oldid=prev</id>
		<title>Allen Kerensky: created</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Allen_Kerensky/JSON_User_SimStats&amp;diff=31833&amp;oldid=prev"/>
				<updated>2013-02-09T04:49:30Z</updated>
		
		<summary type="html">&lt;p&gt;created&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= JSON User SimStats =&lt;br /&gt;
&lt;br /&gt;
As of OpenSim svn 9529 the xtended stats reporting will return a jsonp&lt;br /&gt;
callback to allow popular javascript toolkits to use the returned data to&lt;br /&gt;
create ajax monitoring applications in the browser. This is an advantage&lt;br /&gt;
because after the page is loaded, the browser will interact directly with&lt;br /&gt;
the region, eliminating traffic through the website (polling the region and&lt;br /&gt;
servicing the browser). It also allows the creation of mashups to create&lt;br /&gt;
mini-monitor apps in other pages.&lt;br /&gt;
&lt;br /&gt;
To enable your stats reporting, set the following in your OpenSim.ini...&lt;br /&gt;
&lt;br /&gt;
    ; Simulator Stats URI&lt;br /&gt;
    ; Enable JSON simulator data by setting a URI name (case sensitive)&lt;br /&gt;
    Stats_URI = &amp;quot;jsonSimStats&amp;quot;&lt;br /&gt;
&lt;br /&gt;
...the URI can be anything you want, and is case sensitive. You can query&lt;br /&gt;
the URI directly to return a json string to use in php, python, java, etc.&lt;br /&gt;
or you may use one of the popular javascript toolkits to have OpenSim&lt;br /&gt;
generate a callback for jsonp. The json serialization carries the following&lt;br /&gt;
data...&lt;br /&gt;
&lt;br /&gt;
  {&amp;quot;AssetsInCache&amp;quot;:5.0,&amp;quot;TimeAfterCacheMiss&amp;quot;:0.0,&amp;quot;BlockedMissingTextureRequests&amp;quot;:0.0,&amp;quot;AssetServiceRequestFailures&amp;quot;:0.0,&lt;br /&gt;
 &amp;quot;abnormalClientThreadTerminations&amp;quot;:0.0,&amp;quot;InventoryServiceRetrievalFailures&amp;quot;:0.0,&amp;quot;Dilatn&amp;quot;:0.967380821704865,&amp;quot;SimFPS&amp;quot;:55.0,&lt;br /&gt;
 &amp;quot;PhyFPS&amp;quot;:47.1628913879395,&amp;quot;AgntUp&amp;quot;:0.0,&amp;quot;RootAg&amp;quot;:0.0,&amp;quot;ChldAg&amp;quot;:0.0,&amp;quot;Prims&amp;quot;:0.0,&amp;quot;AtvPrm&amp;quot;:0.0,&amp;quot;AtvScr&amp;quot;:0.0,&amp;quot;ScrLPS&amp;quot;:0.0,&lt;br /&gt;
 &amp;quot;PktsIn&amp;quot;:0.0,&amp;quot;PktOut&amp;quot;:0.0,&amp;quot;PendDl&amp;quot;:0.0,&amp;quot;PendUl&amp;quot;:0.0,&amp;quot;UnackB&amp;quot;:0.0,&amp;quot;TotlFt&amp;quot;:0.0,&amp;quot;NetFt&amp;quot;:0.0,&amp;quot;PhysFt&amp;quot;:0.0,&amp;quot;OthrFt&amp;quot;:0.0,&lt;br /&gt;
 &amp;quot;AgntFt&amp;quot;:0.0,&amp;quot;ImgsFt&amp;quot;:0.0,&amp;quot;Memory&amp;quot;:&amp;quot;8&amp;quot;,&amp;quot;Uptime&amp;quot;:&amp;quot;05:12:19.0365590&amp;quot;,&amp;quot;Version&amp;quot;:&amp;quot;OpenSimulator Server  0.6.4.9533 &amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;JSON Test&amp;lt;/title&amp;gt;&lt;br /&gt;
 &amp;lt;script src=&amp;quot;http://ascent.bluewallgroup.com/jquery-1.3.2.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script src=&amp;quot;http://ascent.bluewallgroup.com/timer.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://www.google.com/jsapi&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
  SimFPS = 0;&lt;br /&gt;
  PhyFPS = 0;&lt;br /&gt;
  Memory = 0;&lt;br /&gt;
  RootAg = 0;&lt;br /&gt;
  ChldAg = 0;&lt;br /&gt;
  Uptime = &amp;quot;&amp;quot;;&lt;br /&gt;
  Version = &amp;quot;&amp;quot;;&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  $.timer(15000, function(timer) {&lt;br /&gt;
  $.getJSON(&amp;quot;http://ascent.bluewallgroup.com:9300/jsonSimStats/?callback=?&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
  function(data){&lt;br /&gt;
&lt;br /&gt;
      SimFPS = Math.round(data.SimFPS);&lt;br /&gt;
      PhyFPS = Math.round(data.PhyFPS);&lt;br /&gt;
      Memory = Math.round(data.Memory);&lt;br /&gt;
      ChldAg = data.ChldAg;&lt;br /&gt;
      RootAg = data.RootAg;&lt;br /&gt;
      Uptime = data.Uptime;&lt;br /&gt;
      Version = data.Version;&lt;br /&gt;
      drawChart();&lt;br /&gt;
      setTags();&lt;br /&gt;
      timer.reset(15000);&lt;br /&gt;
  });&lt;br /&gt;
  });&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  google.load(&amp;quot;visualization&amp;quot;, &amp;quot;1&amp;quot;, {packages:[&amp;quot;gauge&amp;quot;]});&lt;br /&gt;
  google.setOnLoadCallback(drawChart);&lt;br /&gt;
  function drawChart() {&lt;br /&gt;
    var cdata = new google.visualization.DataTable();&lt;br /&gt;
    cdata.addColumn('string', 'Label');&lt;br /&gt;
    cdata.addColumn('number', 'Value');&lt;br /&gt;
    cdata.addRows(3);&lt;br /&gt;
    cdata.setValue(0, 0, 'SimFPS');&lt;br /&gt;
    cdata.setValue(0, 1, SimFPS);&lt;br /&gt;
    cdata.setValue(1, 0, 'PhyFPS');&lt;br /&gt;
    cdata.setValue(1, 1, PhyFPS);&lt;br /&gt;
    cdata.setValue(2, 0, 'Memory');&lt;br /&gt;
    cdata.setValue(2, 1, Memory);&lt;br /&gt;
&lt;br /&gt;
    var chart = new&lt;br /&gt;
 google.visualization.Gauge(document.getElementById('chart_div'));&lt;br /&gt;
    var options = {width: 400, height: 120, redFrom: 90, redTo: 100,&lt;br /&gt;
        yellowFrom:75, yellowTo: 90, minorTicks: 5};&lt;br /&gt;
    chart.draw(cdata, options);&lt;br /&gt;
  }&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
   function setTags() {&lt;br /&gt;
      $(&amp;quot;#par-uptime&amp;quot;).text(&amp;quot;Uptime: &amp;quot;  + Uptime);&lt;br /&gt;
      $(&amp;quot;#par-ragent&amp;quot;).text(&amp;quot;Root Agent: &amp;quot; + RootAg);&lt;br /&gt;
      $(&amp;quot;#par-version&amp;quot;).text(&amp;quot;Version: &amp;quot; + Version);&lt;br /&gt;
      $(&amp;quot;#par-cagent&amp;quot;).text(&amp;quot;Child Agent: &amp;quot; + ChldAg);&lt;br /&gt;
   }&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/head&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
 &amp;lt;h1&amp;gt;BlueWall Development Region&amp;lt;/h1&amp;gt;&lt;br /&gt;
 &amp;lt;table&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
 &amp;lt;div id=&amp;quot;par-version&amp;quot;&amp;gt;version&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
 &amp;lt;div id=&amp;quot;par-ragent&amp;quot;&amp;gt;root agent&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
 &amp;lt;div id=&amp;quot;par-uptime&amp;quot;&amp;gt;uptime&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;br /&gt;
 &amp;lt;div id=&amp;quot;par-cagent&amp;quot;&amp;gt;child agent&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &amp;lt;/table&amp;gt;&lt;br /&gt;
 &amp;lt;div id=&amp;quot;chart_div&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allen Kerensky</name></author>	</entry>

	</feed>