SimStatsAJAX.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Reflection;
  5. using System.Text;
  6. using Mono.Data.SqliteClient;
  7. using OpenMetaverse;
  8. using OpenSim.Region.Environment.Scenes;
  9. using OpenSim.Framework.Statistics;
  10. namespace OpenSim.Region.UserStatistics
  11. {
  12. public class SimStatsAJAX : IStatsController
  13. {
  14. #region IStatsController Members
  15. public Hashtable ProcessModel(Hashtable pParams)
  16. {
  17. List<Scene> m_scene = (List<Scene>)pParams["Scenes"];
  18. Hashtable nh = new Hashtable();
  19. nh.Add("hdata", m_scene);
  20. nh.Add("simstats", pParams["SimStats"]);
  21. return nh;
  22. }
  23. public string RenderView(Hashtable pModelResult)
  24. {
  25. StringBuilder output = new StringBuilder();
  26. List<Scene> all_scenes = (List<Scene>) pModelResult["hdata"];
  27. Dictionary<UUID, USimStatsData> sdatadic = (Dictionary<UUID,USimStatsData>)pModelResult["simstats"];
  28. const string TableClass = "defaultr";
  29. const string TRClass = "defaultr";
  30. const string TDHeaderClass = "header";
  31. const string TDDataClass = "content";
  32. //const string TDDataClassRight = "contentright";
  33. const string TDDataClassCenter = "contentcenter";
  34. foreach (USimStatsData sdata in sdatadic.Values)
  35. {
  36. foreach (Scene sn in all_scenes)
  37. {
  38. if (sn.RegionInfo.RegionID == sdata.RegionId)
  39. {
  40. output.Append("<H2>");
  41. output.Append(sn.RegionInfo.RegionName);
  42. output.Append("</H2>");
  43. }
  44. }
  45. HTMLUtil.TABLE_O(ref output, TableClass);
  46. HTMLUtil.TR_O(ref output, TRClass);
  47. HTMLUtil.TD_O(ref output, TDHeaderClass);
  48. output.Append("Dilatn");
  49. HTMLUtil.TD_C(ref output);
  50. HTMLUtil.TD_O(ref output, TDHeaderClass);
  51. output.Append("SimFPS");
  52. HTMLUtil.TD_C(ref output);
  53. HTMLUtil.TD_O(ref output, TDHeaderClass);
  54. output.Append("PhysFPS");
  55. HTMLUtil.TD_C(ref output);
  56. HTMLUtil.TD_O(ref output, TDHeaderClass);
  57. output.Append("AgntUp");
  58. HTMLUtil.TD_C(ref output);
  59. HTMLUtil.TD_O(ref output, TDHeaderClass);
  60. output.Append("RootAg");
  61. HTMLUtil.TD_C(ref output);
  62. HTMLUtil.TD_O(ref output, TDHeaderClass);
  63. output.Append("ChldAg");
  64. HTMLUtil.TD_C(ref output);
  65. HTMLUtil.TD_O(ref output, TDHeaderClass);
  66. output.Append("Prims");
  67. HTMLUtil.TD_C(ref output);
  68. HTMLUtil.TD_O(ref output, TDHeaderClass);
  69. output.Append("ATvPrm");
  70. HTMLUtil.TD_C(ref output);
  71. HTMLUtil.TD_O(ref output, TDHeaderClass);
  72. output.Append("AtvScr");
  73. HTMLUtil.TD_C(ref output);
  74. HTMLUtil.TD_O(ref output, TDHeaderClass);
  75. output.Append("ScrLPS");
  76. HTMLUtil.TD_C(ref output);
  77. HTMLUtil.TR_C(ref output);
  78. HTMLUtil.TR_O(ref output, TRClass);
  79. HTMLUtil.TD_O(ref output, TDDataClass);
  80. output.Append(sdata.TimeDilation);
  81. HTMLUtil.TD_C(ref output);
  82. HTMLUtil.TD_O(ref output, TDDataClass);
  83. output.Append(sdata.SimFps);
  84. HTMLUtil.TD_C(ref output);
  85. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  86. output.Append(sdata.PhysicsFps);
  87. HTMLUtil.TD_C(ref output);
  88. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  89. output.Append(sdata.AgentUpdates);
  90. HTMLUtil.TD_C(ref output);
  91. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  92. output.Append(sdata.RootAgents);
  93. HTMLUtil.TD_C(ref output);
  94. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  95. output.Append(sdata.ChildAgents);
  96. HTMLUtil.TD_C(ref output);
  97. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  98. output.Append(sdata.TotalPrims);
  99. HTMLUtil.TD_C(ref output);
  100. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  101. output.Append(sdata.ActivePrims);
  102. HTMLUtil.TD_C(ref output);
  103. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  104. output.Append(sdata.ActiveScripts);
  105. HTMLUtil.TD_C(ref output);
  106. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  107. output.Append(sdata.ScriptLinesPerSecond);
  108. HTMLUtil.TD_C(ref output);
  109. HTMLUtil.TR_C(ref output);
  110. HTMLUtil.TR_O(ref output, TRClass);
  111. HTMLUtil.TD_O(ref output, TDHeaderClass);
  112. output.Append("FrmMS");
  113. HTMLUtil.TD_C(ref output);
  114. HTMLUtil.TD_O(ref output, TDHeaderClass);
  115. output.Append("AgtMS");
  116. HTMLUtil.TD_C(ref output);
  117. HTMLUtil.TD_O(ref output, TDHeaderClass);
  118. output.Append("PhysMS");
  119. HTMLUtil.TD_C(ref output);
  120. HTMLUtil.TD_O(ref output, TDHeaderClass);
  121. output.Append("OthrMS");
  122. HTMLUtil.TD_C(ref output);
  123. HTMLUtil.TD_O(ref output, TDHeaderClass);
  124. output.Append("ScrLPS");
  125. HTMLUtil.TD_C(ref output);
  126. HTMLUtil.TD_O(ref output, TDHeaderClass);
  127. output.Append("OutPPS");
  128. HTMLUtil.TD_C(ref output);
  129. HTMLUtil.TD_O(ref output, TDHeaderClass);
  130. output.Append("InPPS");
  131. HTMLUtil.TD_C(ref output);
  132. HTMLUtil.TD_O(ref output, TDHeaderClass);
  133. output.Append("NoAckKB");
  134. HTMLUtil.TD_C(ref output);
  135. HTMLUtil.TD_O(ref output, TDHeaderClass);
  136. output.Append("PndDWN");
  137. HTMLUtil.TD_C(ref output);
  138. HTMLUtil.TD_O(ref output, TDHeaderClass);
  139. output.Append("PndUP");
  140. HTMLUtil.TD_C(ref output);
  141. HTMLUtil.TR_C(ref output);
  142. HTMLUtil.TR_O(ref output, TRClass);
  143. HTMLUtil.TD_O(ref output, TDDataClass);
  144. output.Append(sdata.TotalFrameTime);
  145. HTMLUtil.TD_C(ref output);
  146. HTMLUtil.TD_O(ref output, TDDataClass);
  147. output.Append(sdata.AgentFrameTime);
  148. HTMLUtil.TD_C(ref output);
  149. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  150. output.Append(sdata.PhysicsFrameTime);
  151. HTMLUtil.TD_C(ref output);
  152. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  153. output.Append(sdata.OtherFrameTime);
  154. HTMLUtil.TD_C(ref output);
  155. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  156. output.Append(sdata.ScriptLinesPerSecond);
  157. HTMLUtil.TD_C(ref output);
  158. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  159. output.Append(sdata.OutPacketsPerSecond);
  160. HTMLUtil.TD_C(ref output);
  161. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  162. output.Append(sdata.InPacketsPerSecond);
  163. HTMLUtil.TD_C(ref output);
  164. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  165. output.Append(sdata.UnackedBytes);
  166. HTMLUtil.TD_C(ref output);
  167. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  168. output.Append(sdata.PendingDownloads);
  169. HTMLUtil.TD_C(ref output);
  170. HTMLUtil.TD_O(ref output, TDDataClassCenter);
  171. output.Append(sdata.PendingUploads);
  172. HTMLUtil.TD_C(ref output);
  173. HTMLUtil.TR_C(ref output);
  174. HTMLUtil.TABLE_C(ref output);
  175. }
  176. return output.ToString();
  177. }
  178. #endregion
  179. }
  180. }