Undo "Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects.""

Fix for break in next commit

This reverts commit 376fab1402.
mb-throttle-test
BlueWall 2014-09-17 20:03:54 -04:00
parent 1f40630a9a
commit 96a2449122
5 changed files with 14 additions and 11 deletions

View File

@ -87,7 +87,7 @@ namespace OpenSim.Framework.Monitoring
/// </summary> /// </summary>
public Stat Stat { get; set; } public Stat Stat { get; set; }
public ThreadWatchdogInfo(Thread thread, int timeout) public ThreadWatchdogInfo(Thread thread, int timeout, string name)
{ {
Thread = thread; Thread = thread;
Timeout = timeout; Timeout = timeout;
@ -96,8 +96,8 @@ namespace OpenSim.Framework.Monitoring
Stat Stat
= new Stat( = new Stat(
thread.Name, name,
string.Format("Last update of thread {0}", thread.Name), string.Format("Last update of thread {0}", name),
"", "",
"ms", "ms",
"server", "server",
@ -216,12 +216,11 @@ namespace OpenSim.Framework.Monitoring
bool alarmIfTimeout, Func<string> alarmMethod, int timeout, bool log = true) bool alarmIfTimeout, Func<string> alarmMethod, int timeout, bool log = true)
{ {
Thread thread = new Thread(start); Thread thread = new Thread(start);
thread.Name = name;
thread.Priority = priority; thread.Priority = priority;
thread.IsBackground = isBackground; thread.IsBackground = isBackground;
ThreadWatchdogInfo twi ThreadWatchdogInfo twi
= new ThreadWatchdogInfo(thread, timeout) = new ThreadWatchdogInfo(thread, timeout, name)
{ AlarmIfTimeout = alarmIfTimeout, AlarmMethod = alarmMethod }; { AlarmIfTimeout = alarmIfTimeout, AlarmMethod = alarmMethod };
if (log) if (log)
@ -230,8 +229,10 @@ namespace OpenSim.Framework.Monitoring
lock (m_threads) lock (m_threads)
m_threads.Add(twi.Thread.ManagedThreadId, twi); m_threads.Add(twi.Thread.ManagedThreadId, twi);
thread.Start(); thread.Start();
thread.Name = name;
return thread; return thread;
} }

View File

@ -70,9 +70,9 @@ namespace OpenSim.Framework.Servers.HttpServer
_id = id; _id = id;
_engine = new Thread(new ThreadStart(Engine)); _engine = new Thread(new ThreadStart(Engine));
_engine.Name = EngineID;
_engine.IsBackground = true; _engine.IsBackground = true;
_engine.Start(); _engine.Start();
_engine.Name = string.Format ("Engine:{0}",EngineID);
ThreadTracker.Add(_engine); ThreadTracker.Add(_engine);
} }
@ -91,9 +91,9 @@ namespace OpenSim.Framework.Servers.HttpServer
public void Start() public void Start()
{ {
_engine = new Thread(new ThreadStart(Engine)); _engine = new Thread(new ThreadStart(Engine));
_engine.Name = EngineID;
_engine.IsBackground = true; _engine.IsBackground = true;
_engine.Start(); _engine.Start();
_engine.Name = string.Format ("Engine:{0}",EngineID);
ThreadTracker.Add(_engine); ThreadTracker.Add(_engine);
} }

View File

@ -150,9 +150,9 @@ namespace OpenSim.Framework.Servers.HttpServer
public void Start() public void Start()
{ {
_engine = new Thread(new ThreadStart(Engine)); _engine = new Thread(new ThreadStart(Engine));
_engine.Name = _engineId;
_engine.IsBackground = true; _engine.IsBackground = true;
_engine.Start(); _engine.Start();
_engine.Name = string.Format ("Engine:{0}",_engineId);
ThreadTracker.Add(_engine); ThreadTracker.Add(_engine);

View File

@ -1079,6 +1079,8 @@ namespace OpenSim.Region.Framework.Scenes
StatsReporter = new SimStatsReporter(this); StatsReporter = new SimStatsReporter(this);
StatsReporter.OnSendStatsResult += SendSimStatsPackets; StatsReporter.OnSendStatsResult += SendSimStatsPackets;
StatsReporter.OnStatsIncorrect += m_sceneGraph.RecalculateStats; StatsReporter.OnStatsIncorrect += m_sceneGraph.RecalculateStats;
Thread.CurrentThread.Name = string.Format ("Scene:{0}", regInfo.RegionName.Replace(" ", "_"));
} }
public Scene(RegionInfo regInfo, PhysicsScene physicsScene) : base(regInfo) public Scene(RegionInfo regInfo, PhysicsScene physicsScene) : base(regInfo)
@ -1396,7 +1398,7 @@ namespace OpenSim.Region.Framework.Scenes
m_heartbeatThread m_heartbeatThread
= Watchdog.StartThread( = Watchdog.StartThread(
Heartbeat, string.Format("Heartbeat ({0})", RegionInfo.RegionName), ThreadPriority.Normal, false, false); Heartbeat, string.Format("Heartbeat-({0})", RegionInfo.RegionName.Replace(" ", "_")), ThreadPriority.Normal, false, false);
StartScripts(); StartScripts();
} }

View File

@ -677,7 +677,6 @@ namespace Amib.Threading
: new Thread(ProcessQueuedItems); : new Thread(ProcessQueuedItems);
#endif #endif
// Configure the new thread and start it // Configure the new thread and start it
workerThread.Name = "STP " + Name + " Thread #" + _threadCounter;
workerThread.IsBackground = _stpStartInfo.AreThreadsBackground; workerThread.IsBackground = _stpStartInfo.AreThreadsBackground;
#if !(_SILVERLIGHT) && !(_WINDOWS_CE) && !(WINDOWS_PHONE) #if !(_SILVERLIGHT) && !(_WINDOWS_CE) && !(WINDOWS_PHONE)
@ -691,6 +690,7 @@ namespace Amib.Threading
workerThread.Priority = _stpStartInfo.ThreadPriority; workerThread.Priority = _stpStartInfo.ThreadPriority;
#endif #endif
workerThread.Start(); workerThread.Start();
workerThread.Name = string.Format("STP:{0}:{1}", Name, _threadCounter);
++_threadCounter; ++_threadCounter;
// Add it to the dictionary and update its creation time. // Add it to the dictionary and update its creation time.