aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Monitoring
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-08-15 22:43:32 +0100
committerJustin Clark-Casey (justincc)2012-08-15 22:43:32 +0100
commit5a1b6fdf0638e100f8246f4131dab9bb037d78cf (patch)
tree472fb6b617f422dc44217b41d8ace3be036fd909 /OpenSim/Framework/Monitoring
parentadding ATTACH_*_PEC constants (diff)
downloadopensim-SC_OLD-5a1b6fdf0638e100f8246f4131dab9bb037d78cf.zip
opensim-SC_OLD-5a1b6fdf0638e100f8246f4131dab9bb037d78cf.tar.gz
opensim-SC_OLD-5a1b6fdf0638e100f8246f4131dab9bb037d78cf.tar.bz2
opensim-SC_OLD-5a1b6fdf0638e100f8246f4131dab9bb037d78cf.tar.xz
Don't enable the thread watchdog until all regions are ready.
This is to avoid false positives when the machine is under heavy load whilst starting up.
Diffstat (limited to 'OpenSim/Framework/Monitoring')
-rw-r--r--OpenSim/Framework/Monitoring/Watchdog.cs31
1 files changed, 26 insertions, 5 deletions
diff --git a/OpenSim/Framework/Monitoring/Watchdog.cs b/OpenSim/Framework/Monitoring/Watchdog.cs
index d4cf02f..02f11fa 100644
--- a/OpenSim/Framework/Monitoring/Watchdog.cs
+++ b/OpenSim/Framework/Monitoring/Watchdog.cs
@@ -97,6 +97,32 @@ namespace OpenSim.Framework.Monitoring
97 /// /summary> 97 /// /summary>
98 public static event Action<ThreadWatchdogInfo> OnWatchdogTimeout; 98 public static event Action<ThreadWatchdogInfo> OnWatchdogTimeout;
99 99
100 /// <summary>
101 /// Is this watchdog active?
102 /// </summary>
103 public static bool Enabled
104 {
105 get { return m_enabled; }
106 set
107 {
108// m_log.DebugFormat("[MEMORY WATCHDOG]: Setting MemoryWatchdog.Enabled to {0}", value);
109
110 if (value == m_enabled)
111 return;
112
113 m_enabled = value;
114
115 if (m_enabled)
116 {
117 // Set now so we don't get alerted on the first run
118 LastWatchdogThreadTick = Environment.TickCount & Int32.MaxValue;
119 }
120
121 m_watchdogTimer.Enabled = m_enabled;
122 }
123 }
124 private static bool m_enabled;
125
100 private static readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 126 private static readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
101 private static Dictionary<int, ThreadWatchdogInfo> m_threads; 127 private static Dictionary<int, ThreadWatchdogInfo> m_threads;
102 private static System.Timers.Timer m_watchdogTimer; 128 private static System.Timers.Timer m_watchdogTimer;
@@ -115,11 +141,6 @@ namespace OpenSim.Framework.Monitoring
115 m_watchdogTimer = new System.Timers.Timer(WATCHDOG_INTERVAL_MS); 141 m_watchdogTimer = new System.Timers.Timer(WATCHDOG_INTERVAL_MS);
116 m_watchdogTimer.AutoReset = false; 142 m_watchdogTimer.AutoReset = false;
117 m_watchdogTimer.Elapsed += WatchdogTimerElapsed; 143 m_watchdogTimer.Elapsed += WatchdogTimerElapsed;
118
119 // Set now so we don't get alerted on the first run
120 LastWatchdogThreadTick = Environment.TickCount & Int32.MaxValue;
121
122 m_watchdogTimer.Start();
123 } 144 }
124 145
125 /// <summary> 146 /// <summary>