diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Monitoring/BaseStatsCollector.cs | 21 | ||||
-rw-r--r-- | OpenSim/Framework/Monitoring/ServerStatsCollector.cs | 43 | ||||
-rw-r--r-- | OpenSim/Framework/Monitoring/Stats/Stat.cs | 13 | ||||
-rw-r--r-- | OpenSim/Framework/Monitoring/StatsManager.cs | 15 | ||||
-rw-r--r-- | OpenSim/Framework/Monitoring/Watchdog.cs | 2 |
5 files changed, 86 insertions, 8 deletions
diff --git a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs index 20495f6..96536e8 100644 --- a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs | |||
@@ -43,7 +43,6 @@ namespace OpenSim.Framework.Monitoring | |||
43 | StringBuilder sb = new StringBuilder(Environment.NewLine); | 43 | StringBuilder sb = new StringBuilder(Environment.NewLine); |
44 | sb.Append("MEMORY STATISTICS"); | 44 | sb.Append("MEMORY STATISTICS"); |
45 | sb.Append(Environment.NewLine); | 45 | sb.Append(Environment.NewLine); |
46 | |||
47 | sb.AppendFormat( | 46 | sb.AppendFormat( |
48 | "Heap allocated to OpenSim : {0} MB\n", | 47 | "Heap allocated to OpenSim : {0} MB\n", |
49 | Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0)); | 48 | Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0)); |
@@ -56,9 +55,23 @@ namespace OpenSim.Framework.Monitoring | |||
56 | "Average heap allocation rate: {0} MB/s\n", | 55 | "Average heap allocation rate: {0} MB/s\n", |
57 | Math.Round((MemoryWatchdog.AverageHeapAllocationRate * 1000) / 1024.0 / 1024, 3)); | 56 | Math.Round((MemoryWatchdog.AverageHeapAllocationRate * 1000) / 1024.0 / 1024, 3)); |
58 | 57 | ||
59 | sb.AppendFormat( | 58 | Process myprocess = Process.GetCurrentProcess(); |
60 | "Process memory : {0} MB\n", | 59 | if (!myprocess.HasExited) |
61 | Math.Round(Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0)); | 60 | { |
61 | myprocess.Refresh(); | ||
62 | sb.AppendFormat( | ||
63 | "Process memory: Physical {0} MB \t Paged {1} MB \t Virtual {2} MB\n", | ||
64 | Math.Round(Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0), | ||
65 | Math.Round(Process.GetCurrentProcess().PagedMemorySize64 / 1024.0 / 1024.0), | ||
66 | Math.Round(Process.GetCurrentProcess().VirtualMemorySize64 / 1024.0 / 1024.0)); | ||
67 | sb.AppendFormat( | ||
68 | "Peak process memory: Physical {0} MB \t Paged {1} MB \t Virtual {2} MB\n", | ||
69 | Math.Round(Process.GetCurrentProcess().PeakWorkingSet64 / 1024.0 / 1024.0), | ||
70 | Math.Round(Process.GetCurrentProcess().PeakPagedMemorySize64 / 1024.0 / 1024.0), | ||
71 | Math.Round(Process.GetCurrentProcess().PeakVirtualMemorySize64 / 1024.0 / 1024.0)); | ||
72 | } | ||
73 | else | ||
74 | sb.Append("Process reported as Exited \n"); | ||
62 | 75 | ||
63 | return sb.ToString(); | 76 | return sb.ToString(); |
64 | } | 77 | } |
diff --git a/OpenSim/Framework/Monitoring/ServerStatsCollector.cs b/OpenSim/Framework/Monitoring/ServerStatsCollector.cs index 77315bb..be4a8b4 100644 --- a/OpenSim/Framework/Monitoring/ServerStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/ServerStatsCollector.cs | |||
@@ -249,6 +249,49 @@ namespace OpenSim.Framework.Monitoring | |||
249 | (s) => { s.Value = Math.Round(MemoryWatchdog.LastHeapAllocationRate * 1000d / 1024d / 1024d, 3); }); | 249 | (s) => { s.Value = Math.Round(MemoryWatchdog.LastHeapAllocationRate * 1000d / 1024d / 1024d, 3); }); |
250 | MakeStat("AverageHeapAllocationRate", null, "MB/sec", ContainerMemory, | 250 | MakeStat("AverageHeapAllocationRate", null, "MB/sec", ContainerMemory, |
251 | (s) => { s.Value = Math.Round(MemoryWatchdog.AverageHeapAllocationRate * 1000d / 1024d / 1024d, 3); }); | 251 | (s) => { s.Value = Math.Round(MemoryWatchdog.AverageHeapAllocationRate * 1000d / 1024d / 1024d, 3); }); |
252 | |||
253 | MakeStat("ProcessResident", null, "MB", ContainerProcess, | ||
254 | (s) => | ||
255 | { | ||
256 | Process myprocess = Process.GetCurrentProcess(); | ||
257 | myprocess.Refresh(); | ||
258 | s.Value = Math.Round(Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0); | ||
259 | }); | ||
260 | MakeStat("ProcessPaged", null, "MB", ContainerProcess, | ||
261 | (s) => | ||
262 | { | ||
263 | Process myprocess = Process.GetCurrentProcess(); | ||
264 | myprocess.Refresh(); | ||
265 | s.Value = Math.Round(Process.GetCurrentProcess().PagedMemorySize64 / 1024.0 / 1024.0); | ||
266 | }); | ||
267 | MakeStat("ProcessVirtual", null, "MB", ContainerProcess, | ||
268 | (s) => | ||
269 | { | ||
270 | Process myprocess = Process.GetCurrentProcess(); | ||
271 | myprocess.Refresh(); | ||
272 | s.Value = Math.Round(Process.GetCurrentProcess().VirtualMemorySize64 / 1024.0 / 1024.0); | ||
273 | }); | ||
274 | MakeStat("PeakProcessResident", null, "MB", ContainerProcess, | ||
275 | (s) => | ||
276 | { | ||
277 | Process myprocess = Process.GetCurrentProcess(); | ||
278 | myprocess.Refresh(); | ||
279 | s.Value = Math.Round(Process.GetCurrentProcess().PeakWorkingSet64 / 1024.0 / 1024.0); | ||
280 | }); | ||
281 | MakeStat("PeakProcessPaged", null, "MB", ContainerProcess, | ||
282 | (s) => | ||
283 | { | ||
284 | Process myprocess = Process.GetCurrentProcess(); | ||
285 | myprocess.Refresh(); | ||
286 | s.Value = Math.Round(Process.GetCurrentProcess().PeakPagedMemorySize64 / 1024.0 / 1024.0); | ||
287 | }); | ||
288 | MakeStat("PeakProcessVirtual", null, "MB", ContainerProcess, | ||
289 | (s) => | ||
290 | { | ||
291 | Process myprocess = Process.GetCurrentProcess(); | ||
292 | myprocess.Refresh(); | ||
293 | s.Value = Math.Round(Process.GetCurrentProcess().PeakVirtualMemorySize64 / 1024.0 / 1024.0); | ||
294 | }); | ||
252 | } | 295 | } |
253 | 296 | ||
254 | // Notes on performance counters: | 297 | // Notes on performance counters: |
diff --git a/OpenSim/Framework/Monitoring/Stats/Stat.cs b/OpenSim/Framework/Monitoring/Stats/Stat.cs index a7cb2a6..916fa53 100644 --- a/OpenSim/Framework/Monitoring/Stats/Stat.cs +++ b/OpenSim/Framework/Monitoring/Stats/Stat.cs | |||
@@ -239,6 +239,17 @@ namespace OpenSim.Framework.Monitoring | |||
239 | return sb.ToString(); | 239 | return sb.ToString(); |
240 | } | 240 | } |
241 | 241 | ||
242 | public virtual OSDMap ToBriefOSDMap() | ||
243 | { | ||
244 | OSDMap ret = new OSDMap(); | ||
245 | |||
246 | ret.Add("Value", OSD.FromReal(Value)); | ||
247 | |||
248 | double lastChangeOverTime, averageChangeOverTime; | ||
249 | |||
250 | return ret; | ||
251 | } | ||
252 | |||
242 | public virtual OSDMap ToOSDMap() | 253 | public virtual OSDMap ToOSDMap() |
243 | { | 254 | { |
244 | OSDMap ret = new OSDMap(); | 255 | OSDMap ret = new OSDMap(); |
@@ -323,4 +334,4 @@ namespace OpenSim.Framework.Monitoring | |||
323 | } | 334 | } |
324 | } | 335 | } |
325 | } | 336 | } |
326 | } \ No newline at end of file | 337 | } |
diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs index 3136ee8..a167b55 100644 --- a/OpenSim/Framework/Monitoring/StatsManager.cs +++ b/OpenSim/Framework/Monitoring/StatsManager.cs | |||
@@ -283,7 +283,7 @@ namespace OpenSim.Framework.Monitoring | |||
283 | if (!(String.IsNullOrEmpty(pStatName) || pStatName == AllSubCommand || pStatName == statName)) | 283 | if (!(String.IsNullOrEmpty(pStatName) || pStatName == AllSubCommand || pStatName == statName)) |
284 | continue; | 284 | continue; |
285 | 285 | ||
286 | statMap.Add(statName, theStats[statName].ToOSDMap()); | 286 | statMap.Add(statName, theStats[statName].ToBriefOSDMap()); |
287 | } | 287 | } |
288 | 288 | ||
289 | contMap.Add(contName, statMap); | 289 | contMap.Add(contName, statMap); |
@@ -305,6 +305,17 @@ namespace OpenSim.Framework.Monitoring | |||
305 | string pContainerName = StatsManager.AllSubCommand; | 305 | string pContainerName = StatsManager.AllSubCommand; |
306 | string pStatName = StatsManager.AllSubCommand; | 306 | string pStatName = StatsManager.AllSubCommand; |
307 | 307 | ||
308 | if (!request.ContainsKey("pass") || request["pass"].ToString() != "l0st4nge1s") | ||
309 | { | ||
310 | responsedata["int_response_code"] = response_code; | ||
311 | responsedata["content_type"] = "text/plain"; | ||
312 | responsedata["keepalive"] = false; | ||
313 | responsedata["str_response_string"] = "Access denied"; | ||
314 | responsedata["access_control_allow_origin"] = "*"; | ||
315 | |||
316 | return responsedata; | ||
317 | } | ||
318 | |||
308 | if (request.ContainsKey("cat")) pCategoryName = request["cat"].ToString(); | 319 | if (request.ContainsKey("cat")) pCategoryName = request["cat"].ToString(); |
309 | if (request.ContainsKey("cont")) pContainerName = request["cat"].ToString(); | 320 | if (request.ContainsKey("cont")) pContainerName = request["cat"].ToString(); |
310 | if (request.ContainsKey("stat")) pStatName = request["stat"].ToString(); | 321 | if (request.ContainsKey("stat")) pStatName = request["stat"].ToString(); |
@@ -554,4 +565,4 @@ namespace OpenSim.Framework.Monitoring | |||
554 | Debug, | 565 | Debug, |
555 | Info | 566 | Info |
556 | } | 567 | } |
557 | } \ No newline at end of file | 568 | } |
diff --git a/OpenSim/Framework/Monitoring/Watchdog.cs b/OpenSim/Framework/Monitoring/Watchdog.cs index a644fa5..0cab427 100644 --- a/OpenSim/Framework/Monitoring/Watchdog.cs +++ b/OpenSim/Framework/Monitoring/Watchdog.cs | |||
@@ -377,4 +377,4 @@ namespace OpenSim.Framework.Monitoring | |||
377 | m_watchdogTimer.Start(); | 377 | m_watchdogTimer.Start(); |
378 | } | 378 | } |
379 | } | 379 | } |
380 | } \ No newline at end of file | 380 | } |