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 ""; }