From 76bd3de2fd243d0c910404af8a9998de746b04c4 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 5 Aug 2013 19:22:47 +0100
Subject: Add checks monitoring framework to provide alerts if certain
conditions do not hold.
Not yet in use.
---
OpenSim/Framework/Monitoring/StatsManager.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Framework/Monitoring/StatsManager.cs')
diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs
index e6a2304..87197f4 100644
--- a/OpenSim/Framework/Monitoring/StatsManager.cs
+++ b/OpenSim/Framework/Monitoring/StatsManager.cs
@@ -35,9 +35,9 @@ using OpenMetaverse.StructuredData;
namespace OpenSim.Framework.Monitoring
{
///
- /// Singleton used to provide access to statistics reporters
+ /// Static class used to register/deregister/fetch statistics
///
- public class StatsManager
+ public static class StatsManager
{
// Subcommand used to list other stats.
public const string AllSubCommand = "all";
@@ -257,7 +257,7 @@ namespace OpenSim.Framework.Monitoring
// }
///
- /// Registers a statistic.
+ /// Register a statistic.
///
///
///
--
cgit v1.1
From 4c2f6de8e4957df3c7186437089ba0925edb1a08 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 6 Aug 2013 18:29:33 +0100
Subject: Add the experimental ability to dump stats (result of command "show
stats all") to file OpenSimStats.log every 5 seconds.
This can currently only be activated with the console command "debug stats record start".
Off by default.
Records to file OpenSimStats.log for simulator and RobustStats.log for ROBUST
---
OpenSim/Framework/Monitoring/StatsManager.cs | 52 +++++++++++++++++++++-------
1 file changed, 40 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Framework/Monitoring/StatsManager.cs')
diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs
index 87197f4..c8e838c 100644
--- a/OpenSim/Framework/Monitoring/StatsManager.cs
+++ b/OpenSim/Framework/Monitoring/StatsManager.cs
@@ -81,6 +81,8 @@ namespace OpenSim.Framework.Monitoring
+ "More than one name can be given separated by spaces.\n"
+ "THIS STATS FACILITY IS EXPERIMENTAL AND DOES NOT YET CONTAIN ALL STATS",
HandleShowStatsCommand);
+
+ StatsLogger.RegisterConsoleCommands(console);
}
public static void HandleShowStatsCommand(string module, string[] cmd)
@@ -145,29 +147,55 @@ namespace OpenSim.Framework.Monitoring
}
}
- private static void OutputAllStatsToConsole(ICommandConsole con)
+ public static List GetAllStatsReports()
{
+ List reports = new List();
+
foreach (var category in RegisteredStats.Values)
- {
- OutputCategoryStatsToConsole(con, category);
- }
+ reports.AddRange(GetCategoryStatsReports(category));
+
+ return reports;
+ }
+
+ private static void OutputAllStatsToConsole(ICommandConsole con)
+ {
+ foreach (string report in GetAllStatsReports())
+ con.Output(report);
+ }
+
+ private static List GetCategoryStatsReports(
+ SortedDictionary> category)
+ {
+ List reports = new List();
+
+ foreach (var container in category.Values)
+ reports.AddRange(GetContainerStatsReports(container));
+
+ return reports;
}
private static void OutputCategoryStatsToConsole(
ICommandConsole con, SortedDictionary> category)
{
- foreach (var container in category.Values)
- {
- OutputContainerStatsToConsole(con, container);
- }
+ foreach (string report in GetCategoryStatsReports(category))
+ con.Output(report);
}
- private static void OutputContainerStatsToConsole( ICommandConsole con, SortedDictionary container)
+ private static List GetContainerStatsReports(SortedDictionary container)
{
+ List reports = new List();
+
foreach (Stat stat in container.Values)
- {
- con.Output(stat.ToConsoleString());
- }
+ reports.Add(stat.ToConsoleString());
+
+ return reports;
+ }
+
+ private static void OutputContainerStatsToConsole(
+ ICommandConsole con, SortedDictionary container)
+ {
+ foreach (string report in GetContainerStatsReports(container))
+ con.Output(report);
}
// Creates an OSDMap of the format:
--
cgit v1.1