parent
a31792ee5c
commit
9bd827a642
|
@ -39,9 +39,15 @@ namespace OpenSim.Region.UserStatistics
|
||||||
{
|
{
|
||||||
public class ActiveConnectionsAJAX : IStatsController
|
public class ActiveConnectionsAJAX : IStatsController
|
||||||
{
|
{
|
||||||
|
private Vector3 DefaultNeighborPosition = new Vector3(128, 128, 70);
|
||||||
|
|
||||||
#region IStatsController Members
|
#region IStatsController Members
|
||||||
|
|
||||||
private Vector3 DefaultNeighborPosition = new Vector3(128, 128, 70);
|
public string ReportName
|
||||||
|
{
|
||||||
|
get { return ""; }
|
||||||
|
}
|
||||||
|
|
||||||
public Hashtable ProcessModel(Hashtable pParams)
|
public Hashtable ProcessModel(Hashtable pParams)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,299 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using Mono.Data.SqliteClient;
|
||||||
|
using OpenMetaverse;
|
||||||
|
using OpenSim.Region.Environment.Scenes;
|
||||||
|
|
||||||
|
namespace OpenSim.Region.UserStatistics
|
||||||
|
{
|
||||||
|
public class Clients_report : IStatsController
|
||||||
|
{
|
||||||
|
#region IStatsController Members
|
||||||
|
|
||||||
|
public string ReportName
|
||||||
|
{
|
||||||
|
get { return "Client"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Hashtable ProcessModel(Hashtable pParams)
|
||||||
|
{
|
||||||
|
SqliteConnection dbConn = (SqliteConnection)pParams["DatabaseConnection"];
|
||||||
|
|
||||||
|
|
||||||
|
List<ClientVersionData> clidata = new List<ClientVersionData>();
|
||||||
|
List<ClientVersionData> cliRegData = new List<ClientVersionData>();
|
||||||
|
Hashtable regionTotals = new Hashtable();
|
||||||
|
|
||||||
|
Hashtable modeldata = new Hashtable();
|
||||||
|
modeldata.Add("Scenes", pParams["Scenes"]);
|
||||||
|
modeldata.Add("Reports", pParams["Reports"]);
|
||||||
|
int totalclients = 0;
|
||||||
|
int totalregions = 0;
|
||||||
|
|
||||||
|
lock (dbConn)
|
||||||
|
{
|
||||||
|
string sql = "select count(distinct region_id) as regcnt from stats_session_data";
|
||||||
|
|
||||||
|
SqliteCommand cmd = new SqliteCommand(sql, dbConn);
|
||||||
|
SqliteDataReader sdr = cmd.ExecuteReader();
|
||||||
|
if (sdr.HasRows)
|
||||||
|
{
|
||||||
|
sdr.Read();
|
||||||
|
totalregions = Convert.ToInt32(sdr["regcnt"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sql =
|
||||||
|
"select client_version, count(*) as cnt, avg(avg_sim_fps) as simfps from stats_session_data group by client_version order by count(*) desc LIMIT 10;";
|
||||||
|
|
||||||
|
cmd = new SqliteCommand(sql, dbConn);
|
||||||
|
sdr = cmd.ExecuteReader();
|
||||||
|
if (sdr.HasRows)
|
||||||
|
{
|
||||||
|
while (sdr.Read())
|
||||||
|
{
|
||||||
|
ClientVersionData udata = new ClientVersionData();
|
||||||
|
udata.version = sdr["client_version"].ToString();
|
||||||
|
udata.count = Convert.ToInt32(sdr["cnt"]);
|
||||||
|
udata.fps = Convert.ToSingle(sdr["simfps"]);
|
||||||
|
clidata.Add(udata);
|
||||||
|
totalclients += udata.count;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sdr.Close();
|
||||||
|
sdr.Dispose();
|
||||||
|
|
||||||
|
if (totalregions > 1)
|
||||||
|
{
|
||||||
|
sql =
|
||||||
|
"select region_id, client_version, count(*) as cnt, avg(avg_sim_fps) as simfps from stats_session_data group by region_id, client_version order by region_id, count(*) desc;";
|
||||||
|
cmd = new SqliteCommand(sql, dbConn);
|
||||||
|
|
||||||
|
sdr = cmd.ExecuteReader();
|
||||||
|
|
||||||
|
if (sdr.HasRows)
|
||||||
|
{
|
||||||
|
while (sdr.Read())
|
||||||
|
{
|
||||||
|
ClientVersionData udata = new ClientVersionData();
|
||||||
|
udata.version = sdr["client_version"].ToString();
|
||||||
|
udata.count = Convert.ToInt32(sdr["cnt"]);
|
||||||
|
udata.fps = Convert.ToSingle(sdr["simfps"]);
|
||||||
|
udata.region_id = UUID.Parse(sdr["region_id"].ToString());
|
||||||
|
cliRegData.Add(udata);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sdr.Close();
|
||||||
|
sdr.Dispose();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (ClientVersionData cvd in cliRegData)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (regionTotals.ContainsKey(cvd.region_id))
|
||||||
|
{
|
||||||
|
int regiontotal = (int)regionTotals[cvd.region_id];
|
||||||
|
regiontotal += cvd.count;
|
||||||
|
regionTotals[cvd.region_id] = regiontotal;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
regionTotals.Add(cvd.region_id, cvd.count);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
modeldata["ClientData"] = clidata;
|
||||||
|
modeldata["ClientRegionData"] = cliRegData;
|
||||||
|
modeldata["RegionTotals"] = regionTotals;
|
||||||
|
modeldata["Total"] = totalclients;
|
||||||
|
|
||||||
|
return modeldata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string RenderView(Hashtable pModelResult)
|
||||||
|
{
|
||||||
|
List<ClientVersionData> clidata = (List<ClientVersionData>) pModelResult["ClientData"];
|
||||||
|
int totalclients = (int)pModelResult["Total"];
|
||||||
|
Hashtable regionTotals = (Hashtable) pModelResult["RegionTotals"];
|
||||||
|
List<ClientVersionData> cliRegData = (List<ClientVersionData>) pModelResult["ClientRegionData"];
|
||||||
|
List<Scene> m_scenes = (List<Scene>)pModelResult["Scenes"];
|
||||||
|
Dictionary<string, IStatsController> reports = (Dictionary<string, IStatsController>)pModelResult["Reports"];
|
||||||
|
|
||||||
|
const string STYLESHEET =
|
||||||
|
@"
|
||||||
|
<STYLE>
|
||||||
|
body
|
||||||
|
{
|
||||||
|
font-size:15px; font-family:Helvetica, Verdana; color:Black;
|
||||||
|
}
|
||||||
|
TABLE.defaultr { }
|
||||||
|
TR.defaultr { padding: 5px; }
|
||||||
|
TD.header { font-weight:bold; padding:5px; }
|
||||||
|
TD.content {}
|
||||||
|
TD.contentright { text-align: right; }
|
||||||
|
TD.contentcenter { text-align: center; }
|
||||||
|
TD.align_top { vertical-align: top; }
|
||||||
|
</STYLE>
|
||||||
|
";
|
||||||
|
|
||||||
|
StringBuilder output = new StringBuilder();
|
||||||
|
HTMLUtil.HtmlHeaders_O(ref output);
|
||||||
|
output.Append(STYLESHEET);
|
||||||
|
HTMLUtil.HtmlHeaders_C(ref output);
|
||||||
|
|
||||||
|
HTMLUtil.AddReportLinks(ref output, reports, "");
|
||||||
|
|
||||||
|
HTMLUtil.TABLE_O(ref output, "defaultr");
|
||||||
|
HTMLUtil.TR_O(ref output, "");
|
||||||
|
HTMLUtil.TD_O(ref output, "header");
|
||||||
|
output.Append("ClientVersion");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "header");
|
||||||
|
output.Append("Count/%");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "header");
|
||||||
|
output.Append("SimFPS");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TR_C(ref output);
|
||||||
|
|
||||||
|
foreach (ClientVersionData cvd in clidata)
|
||||||
|
{
|
||||||
|
HTMLUtil.TR_O(ref output, "");
|
||||||
|
HTMLUtil.TD_O(ref output, "content");
|
||||||
|
output.Append(cvd.version);
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "content");
|
||||||
|
output.Append(cvd.count);
|
||||||
|
output.Append("/");
|
||||||
|
if (totalclients > 0)
|
||||||
|
output.Append((((float)cvd.count / (float)totalclients)*100).ToString());
|
||||||
|
else
|
||||||
|
output.Append(0);
|
||||||
|
|
||||||
|
output.Append("%");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "content");
|
||||||
|
output.Append(cvd.fps);
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TR_C(ref output);
|
||||||
|
}
|
||||||
|
HTMLUtil.TABLE_C(ref output);
|
||||||
|
|
||||||
|
if (cliRegData.Count > 0)
|
||||||
|
{
|
||||||
|
HTMLUtil.TABLE_O(ref output, "defaultr");
|
||||||
|
HTMLUtil.TR_O(ref output, "");
|
||||||
|
HTMLUtil.TD_O(ref output, "header");
|
||||||
|
output.Append("Region");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "header");
|
||||||
|
output.Append("ClientVersion");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "header");
|
||||||
|
output.Append("Count/%");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "header");
|
||||||
|
output.Append("SimFPS");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TR_C(ref output);
|
||||||
|
|
||||||
|
foreach (ClientVersionData cvd in cliRegData)
|
||||||
|
{
|
||||||
|
HTMLUtil.TR_O(ref output, "");
|
||||||
|
HTMLUtil.TD_O(ref output, "content");
|
||||||
|
output.Append(regionNamefromUUID(m_scenes, cvd.region_id));
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "content");
|
||||||
|
output.Append(cvd.version);
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "content");
|
||||||
|
output.Append(cvd.count);
|
||||||
|
output.Append("/");
|
||||||
|
if ((int)regionTotals[cvd.region_id] > 0)
|
||||||
|
output.Append((((float)cvd.count / (float)((int)regionTotals[cvd.region_id])) * 100).ToString());
|
||||||
|
else
|
||||||
|
output.Append(0);
|
||||||
|
|
||||||
|
output.Append("%");
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TD_O(ref output, "content");
|
||||||
|
output.Append(cvd.fps);
|
||||||
|
HTMLUtil.TD_C(ref output);
|
||||||
|
HTMLUtil.TR_C(ref output);
|
||||||
|
}
|
||||||
|
HTMLUtil.TABLE_C(ref output);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
output.Append("</BODY>");
|
||||||
|
output.Append("</HTML>");
|
||||||
|
return output.ToString();
|
||||||
|
}
|
||||||
|
public string regionNamefromUUID(List<Scene> scenes, UUID region_id)
|
||||||
|
{
|
||||||
|
string returnstring = string.Empty;
|
||||||
|
foreach (Scene sn in scenes)
|
||||||
|
{
|
||||||
|
if (region_id == sn.RegionInfo.originRegionID)
|
||||||
|
{
|
||||||
|
returnstring = sn.RegionInfo.RegionName;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (returnstring.Length == 0)
|
||||||
|
{
|
||||||
|
returnstring = region_id.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return returnstring;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct ClientVersionData
|
||||||
|
{
|
||||||
|
public UUID region_id;
|
||||||
|
public string version;
|
||||||
|
public int count;
|
||||||
|
public float fps;
|
||||||
|
}
|
||||||
|
}
|
|
@ -41,9 +41,9 @@ namespace OpenSim.Region.UserStatistics
|
||||||
public class Default_Report : IStatsController
|
public class Default_Report : IStatsController
|
||||||
{
|
{
|
||||||
|
|
||||||
public Default_Report()
|
public string ReportName
|
||||||
{
|
{
|
||||||
|
get { return "Home"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#region IStatsController Members
|
#region IStatsController Members
|
||||||
|
@ -55,9 +55,11 @@ namespace OpenSim.Region.UserStatistics
|
||||||
|
|
||||||
stats_default_page_values mData = rep_DefaultReport_data(conn, m_scene);
|
stats_default_page_values mData = rep_DefaultReport_data(conn, m_scene);
|
||||||
mData.sim_stat_data = (Dictionary<UUID,USimStatsData>)pParams["SimStats"];
|
mData.sim_stat_data = (Dictionary<UUID,USimStatsData>)pParams["SimStats"];
|
||||||
|
mData.stats_reports = (Dictionary<string, IStatsController>) pParams["Reports"];
|
||||||
|
|
||||||
Hashtable nh = new Hashtable();
|
Hashtable nh = new Hashtable();
|
||||||
nh.Add("hdata", mData);
|
nh.Add("hdata", mData);
|
||||||
|
nh.Add("Reports", pParams["Reports"]);
|
||||||
|
|
||||||
return nh;
|
return nh;
|
||||||
}
|
}
|
||||||
|
@ -73,6 +75,7 @@ namespace OpenSim.Region.UserStatistics
|
||||||
public string rep_Default_report_view(stats_default_page_values values)
|
public string rep_Default_report_view(stats_default_page_values values)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
StringBuilder output = new StringBuilder();
|
StringBuilder output = new StringBuilder();
|
||||||
|
|
||||||
|
|
||||||
|
@ -123,7 +126,7 @@ TD.align_top { vertical-align: top; }
|
||||||
|
|
||||||
output.Append(STYLESHEET);
|
output.Append(STYLESHEET);
|
||||||
HTMLUtil.HtmlHeaders_C(ref output);
|
HTMLUtil.HtmlHeaders_C(ref output);
|
||||||
|
HTMLUtil.AddReportLinks(ref output, values.stats_reports, "");
|
||||||
HTMLUtil.TABLE_O(ref output, TableClass);
|
HTMLUtil.TABLE_O(ref output, TableClass);
|
||||||
HTMLUtil.TR_O(ref output, TRClass);
|
HTMLUtil.TR_O(ref output, TRClass);
|
||||||
HTMLUtil.TD_O(ref output, TDHeaderClass);
|
HTMLUtil.TD_O(ref output, TDHeaderClass);
|
||||||
|
@ -242,5 +245,6 @@ TD.align_top { vertical-align: top; }
|
||||||
public float avg_client_resends;
|
public float avg_client_resends;
|
||||||
public Scene[] all_scenes;
|
public Scene[] all_scenes;
|
||||||
public Dictionary<UUID, USimStatsData> sim_stat_data;
|
public Dictionary<UUID, USimStatsData> sim_stat_data;
|
||||||
|
public Dictionary<string, IStatsController> stats_reports;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -208,5 +208,33 @@ namespace OpenSim.Region.UserStatistics
|
||||||
o.Append("</HEAD>");
|
o.Append("</HEAD>");
|
||||||
o.Append("<BODY>");
|
o.Append("<BODY>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void AddReportLinks( ref StringBuilder o, Dictionary<string, IStatsController> reports, string pClass)
|
||||||
|
{
|
||||||
|
int repcount = 0;
|
||||||
|
foreach (string str in reports.Keys)
|
||||||
|
{
|
||||||
|
if (reports[str].ReportName.Length > 0)
|
||||||
|
{
|
||||||
|
if (repcount > 0)
|
||||||
|
{
|
||||||
|
o.Append("| ");
|
||||||
|
}
|
||||||
|
|
||||||
|
o.Append("<A");
|
||||||
|
if (pClass.Length > 0)
|
||||||
|
{
|
||||||
|
GenericClass(ref o, pClass);
|
||||||
|
|
||||||
|
}
|
||||||
|
o.Append(" href=\"");
|
||||||
|
o.Append(str);
|
||||||
|
o.Append("\">");
|
||||||
|
o.Append(reports[str].ReportName);
|
||||||
|
o.Append("</A> ");
|
||||||
|
repcount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ namespace OpenSim.Region.UserStatistics
|
||||||
{
|
{
|
||||||
public interface IStatsController
|
public interface IStatsController
|
||||||
{
|
{
|
||||||
|
string ReportName { get; }
|
||||||
Hashtable ProcessModel(Hashtable pParams);
|
Hashtable ProcessModel(Hashtable pParams);
|
||||||
string RenderView(Hashtable pModelResult);
|
string RenderView(Hashtable pModelResult);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,11 @@ namespace OpenSim.Region.UserStatistics
|
||||||
|
|
||||||
#region IStatsController Members
|
#region IStatsController Members
|
||||||
|
|
||||||
|
public string ReportName
|
||||||
|
{
|
||||||
|
get { return ""; }
|
||||||
|
}
|
||||||
|
|
||||||
public Hashtable ProcessModel(Hashtable pParams)
|
public Hashtable ProcessModel(Hashtable pParams)
|
||||||
{
|
{
|
||||||
Hashtable nh = new Hashtable();
|
Hashtable nh = new Hashtable();
|
||||||
|
|
|
@ -38,7 +38,10 @@ namespace OpenSim.Region.UserStatistics
|
||||||
{
|
{
|
||||||
private string prototypejs=string.Empty;
|
private string prototypejs=string.Empty;
|
||||||
|
|
||||||
|
public string ReportName
|
||||||
|
{
|
||||||
|
get { return ""; }
|
||||||
|
}
|
||||||
public Hashtable ProcessModel(Hashtable pParams)
|
public Hashtable ProcessModel(Hashtable pParams)
|
||||||
{
|
{
|
||||||
Hashtable pResult = new Hashtable();
|
Hashtable pResult = new Hashtable();
|
||||||
|
|
|
@ -41,6 +41,11 @@ namespace OpenSim.Region.UserStatistics
|
||||||
{
|
{
|
||||||
#region IStatsController Members
|
#region IStatsController Members
|
||||||
|
|
||||||
|
public string ReportName
|
||||||
|
{
|
||||||
|
get { return ""; }
|
||||||
|
}
|
||||||
|
|
||||||
public Hashtable ProcessModel(Hashtable pParams)
|
public Hashtable ProcessModel(Hashtable pParams)
|
||||||
{
|
{
|
||||||
List<Scene> m_scene = (List<Scene>)pParams["Scenes"];
|
List<Scene> m_scene = (List<Scene>)pParams["Scenes"];
|
||||||
|
|
|
@ -38,6 +38,10 @@ namespace OpenSim.Region.UserStatistics
|
||||||
{
|
{
|
||||||
private string updaterjs = string.Empty;
|
private string updaterjs = string.Empty;
|
||||||
|
|
||||||
|
public string ReportName
|
||||||
|
{
|
||||||
|
get { return ""; }
|
||||||
|
}
|
||||||
|
|
||||||
public Hashtable ProcessModel(Hashtable pParams)
|
public Hashtable ProcessModel(Hashtable pParams)
|
||||||
{
|
{
|
||||||
|
|
|
@ -105,13 +105,15 @@ namespace OpenSim.Region.UserStatistics
|
||||||
ActiveConnectionsAJAX ajConnections = new ActiveConnectionsAJAX();
|
ActiveConnectionsAJAX ajConnections = new ActiveConnectionsAJAX();
|
||||||
SimStatsAJAX ajSimStats = new SimStatsAJAX();
|
SimStatsAJAX ajSimStats = new SimStatsAJAX();
|
||||||
LogLinesAJAX ajLogLines = new LogLinesAJAX();
|
LogLinesAJAX ajLogLines = new LogLinesAJAX();
|
||||||
|
Clients_report clientReport = new Clients_report();
|
||||||
|
|
||||||
reports.Add("", rep);
|
reports.Add("", rep);
|
||||||
reports.Add("index.aspx", rep);
|
|
||||||
reports.Add("prototype.js", protodep);
|
reports.Add("prototype.js", protodep);
|
||||||
reports.Add("updater.js", updatedep);
|
reports.Add("updater.js", updatedep);
|
||||||
reports.Add("activeconnectionsajax.ajax", ajConnections);
|
reports.Add("activeconnectionsajax.ajax", ajConnections);
|
||||||
reports.Add("simstatsajax.ajax", ajSimStats);
|
reports.Add("simstatsajax.ajax", ajSimStats);
|
||||||
reports.Add("activelogajax.ajax", ajLogLines);
|
reports.Add("activelogajax.ajax", ajLogLines);
|
||||||
|
reports.Add("clients.report", clientReport);
|
||||||
|
|
||||||
scene.CommsManager.HttpServer.AddHTTPHandler("/SStats/", HandleStatsRequest);
|
scene.CommsManager.HttpServer.AddHTTPHandler("/SStats/", HandleStatsRequest);
|
||||||
scene.CommsManager.HttpServer.AddHTTPHandler("/CAPS/VS/", HandleUnknownCAPSRequest);
|
scene.CommsManager.HttpServer.AddHTTPHandler("/CAPS/VS/", HandleUnknownCAPSRequest);
|
||||||
|
@ -192,6 +194,7 @@ namespace OpenSim.Region.UserStatistics
|
||||||
repParams["Scenes"] = m_scene;
|
repParams["Scenes"] = m_scene;
|
||||||
repParams["SimStats"] = m_simstatsCounters;
|
repParams["SimStats"] = m_simstatsCounters;
|
||||||
repParams["LogLines"] = m_loglines;
|
repParams["LogLines"] = m_loglines;
|
||||||
|
repParams["Reports"] = reports;
|
||||||
|
|
||||||
concurrencyCounter++;
|
concurrencyCounter++;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue