diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
index 45b45b23fa..483f8b6c30 100644
--- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs
+++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
@@ -37,6 +37,7 @@ using log4net.Appender;
using log4net.Core;
using log4net.Repository;
using OpenSim.Framework.Console;
+using OpenSim.Framework.Servers;
using OpenSim.Framework.Statistics;
using Timer=System.Timers.Timer;
@@ -458,9 +459,9 @@ namespace OpenSim.Framework.Servers
}
}
- public string StatReport()
+ public string StatReport(OSHttpRequest httpRequest)
{
- return m_stats.XReport();
+ return m_stats.XReport((DateTime.Now - m_startuptime).ToString() , m_version );
}
protected void RemovePIDFile()
diff --git a/OpenSim/Framework/Statistics/BaseStatsCollector.cs b/OpenSim/Framework/Statistics/BaseStatsCollector.cs
index ca0907df29..38e2dd5981 100644
--- a/OpenSim/Framework/Statistics/BaseStatsCollector.cs
+++ b/OpenSim/Framework/Statistics/BaseStatsCollector.cs
@@ -52,7 +52,7 @@ namespace OpenSim.Framework.Statistics
return sb.ToString();
}
- public virtual string XReport()
+ public virtual string XReport(string uptime, string version)
{
return (string) Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0).ToString() ;
}
diff --git a/OpenSim/Framework/Statistics/Interfaces/IStatsCollector.cs b/OpenSim/Framework/Statistics/Interfaces/IStatsCollector.cs
index ac8133d755..c1a8f73cf1 100644
--- a/OpenSim/Framework/Statistics/Interfaces/IStatsCollector.cs
+++ b/OpenSim/Framework/Statistics/Interfaces/IStatsCollector.cs
@@ -44,6 +44,6 @@ namespace OpenSim.Framework.Statistics
///
/// A
///
- string XReport();
+ string XReport(string uptime, string version);
}
}
diff --git a/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs b/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs
index bab2764829..75cc23c856 100644
--- a/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs
+++ b/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs
@@ -384,12 +384,12 @@ Asset service request failures: {3}" + Environment.NewLine,
}
///
- /// Report back collected statistical information.
+ /// Report back collected statistical information as json serialization.
///
///
- public override string XReport()
+ public override string XReport(string uptime, string version)
{
- OSDMap args = new OSDMap(28);
+ OSDMap args = new OSDMap(30);
args["AssetsInCache"] = OSD.FromReal(AssetsInCache);
args["TimeAfterCacheMiss"] = OSD.FromReal(assetRequestTimeAfterCacheMiss.Milliseconds / 1000.0);
args["BlockedMissingTextureRequests"] = OSD.FromReal(BlockedMissingTextureRequests);
@@ -417,14 +417,12 @@ Asset service request failures: {3}" + Environment.NewLine,
args["OthrFt"] = OSD.FromReal(otherFrameTime);
args["AgntFt"] = OSD.FromReal(agentFrameTime);
args["ImgsFt"] = OSD.FromReal(imageFrameTime);
- args["Memory"] = OSD.FromString(base.XReport());
+ args["Memory"] = OSD.FromString(base.XReport(uptime, version));
+ args["Uptime"] = OSD.FromString(uptime);
+ args["Version"] = OSD.FromString(version);
string strBuffer = "";
- // byte[] buffer = new byte[1];
-
strBuffer = OSDParser.SerializeJsonString(args);
- // UTF8Encoding str = new UTF8Encoding();
- // buffer = str.GetBytes(strBuffer);
return strBuffer;
}
@@ -451,7 +449,7 @@ Asset service request failures: {3}" + Environment.NewLine,
return m_statsProvider.GetStats();
}
- public string XReport()
+ public string XReport(string uptime, string version)
{
return "";
}
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index b28e88099a..286c5a1ace 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -810,13 +810,12 @@ namespace OpenSim
///
/// Handler to supply the current extended status of this sim
///
- /// Currently prints the same a "show stats" plus the uptime of the sim
+ /// Sends the statistical data in a json serialization
public class XSimStatusHandler : IStreamedRequestHandler
{
OpenSimBase m_opensim;
public XSimStatusHandler(OpenSimBase sim)
- // public XSimStatusHandler(BaseOpenSimServer sim)
{
m_opensim = sim;
}
@@ -824,7 +823,7 @@ namespace OpenSim
public byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
{
- return Encoding.UTF8.GetBytes(m_opensim.StatReport());
+ return Encoding.UTF8.GetBytes(m_opensim.StatReport(httpRequest));
}
public string ContentType
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 40f25aeec9..48612ab041 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -10312,7 +10312,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
return handler.PacketQueue.GetStats();
}
- public string XReport()
+ public string XReport(string uptime, string version)
{
return "";
}