aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Monitoring/Watchdog.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* refactor: Move methods to start a monitored thread, start work in its own ↵Justin Clark-Casey (justincc)2014-11-251-138/+11
| | | | | | | | thread and run work in the jobengine from Watchdog to a WorkManager class. This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management. Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget. Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
* Move conditionals which control whether a task is placed in the JobEngine ↵Justin Clark-Casey (justincc)2014-11-251-2/+37
| | | | inside Watchdog.RunJob() (renamed from RunWhenPossible) and generalize them.
* Temporarily add root agent rez attachments work to job engine if it is ↵Justin Clark-Casey (justincc)2014-11-251-4/+4
| | | | | | running rather than as a fire and forget. Experiment to see if serializing attachment rez and send initial data jobs improves other parts of sim performance.
* Add experimental job engine to see if queueing some existing async work ↵Justin Clark-Casey (justincc)2014-11-251-0/+18
| | | | | | | | during root agent entry to a region improves perf rather than always attempting to execute everything concurrently Job engine is controlled via "debug jobengine start|stop|status". Can only currently be enabled and disabled dynamically at runtime. Currently only applies to code sending initial region data (objects, other avatar data) to a client.
* Fix long-lived thread name logging.Justin Clark-Casey (justincc)2014-09-261-1/+1
|
* Undo "Revert "Small changes to threading to send thread names to unmanaged ↵BlueWall2014-09-171-6/+7
| | | | | | | | 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 376fab140227e92dbd841436509a97b87c9e7792.
* Revert "Small changes to threading to send thread names to unmanaged ↵BlueWall2014-09-171-7/+6
| | | | | | | 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." This reverts commit af286d5fcb688e8b64202b6deca4f249e9a2b6b8. Issue with Jenkins builds
* Small changes to threading to send thread names to unmanaged threads. Needs ↵BlueWall2014-09-171-6/+7
| | | | 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.
* For monitoring purposes, start non-timeout tasks (which do not currently use ↵Justin Clark-Casey (justincc)2014-09-051-11/+49
| | | | | | | a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout() The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc. Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
* Add monitored thread last update times as stats in "show stats all"Justin Clark-Casey (justincc)2014-03-211-0/+26
| | | | These have the format server.thread.<thread-name>
* Add checks monitoring framework to provide alerts if certain conditions do ↵Justin Clark-Casey (justincc)2013-08-051-0/+1
| | | | | | not hold. Not yet in use.
* Add a first draft mechanism for the IncomingPacketsProcessedStat to show the ↵Justin Clark-Casey (justincc)2012-11-161-1/+3
| | | | | | delta over time. The chief motivation for this is to be able to tell whether there's any impact on incoming packet processing from enabling extra packet pooling.
* Get Watchdog to log thread removalJustin Clark-Casey (justincc)2012-10-121-1/+19
|
* When reporting a thread timeout, create a copy of the info rather than ↵Justin Clark-Casey (justincc)2012-08-181-1/+14
| | | | | | | passing the original ThreadWatchdogInfo structure. This is to avoid the possibility of misleading reporting if a watchdog update outraces an alarm. Should address any remaining issues from http://opensimulator.org/mantis/view.php?id=6012
* Don't enable the thread watchdog until all regions are ready.Justin Clark-Casey (justincc)2012-08-151-5/+26
| | | | This is to avoid false positives when the machine is under heavy load whilst starting up.
* Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring ↵Justin Clark-Casey (justincc)2012-07-251-0/+334
with other monitoring code from OpenSim.Framework