BlueWall
96a2449122
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
.
2014-09-17 20:03:54 -04:00
BlueWall
376fab1402
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."
...
This reverts commit af286d5fcb
.
Issue with Jenkins builds
2014-09-17 18:11:41 -04:00
BlueWall
af286d5fcb
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.
2014-09-17 17:56:10 -04:00
Justin Clark-Casey (justincc)
b4ce71df1e
Make proper fix for last commit wrt Mantis 7317 by replacing disallowed c char and not literal 'c'
2014-09-09 18:57:02 +01:00
Justin Clark-Casey (justincc)
e271607bef
For stat names containing periods, replace with '#' rather than throw exception
...
In relation to http://opensimulator.org/mantis/view.php?id=7317
2014-09-09 18:56:58 +01:00
Justin Clark-Casey (justincc)
41f2f3132b
For monitoring purposes, start non-timeout tasks (which do not currently use 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).
2014-09-05 23:20:59 +01:00
Justin Clark-Casey (justincc)
1b75ec5647
Ignore whitespace when reading serialized XML objects.
...
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace. This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-29 19:08:23 +01:00
Justin Clark-Casey (justincc)
e0c6bfa81e
If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region.
2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc)
91e1aaa5d4
On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
...
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc)
f1f935ed95
Add 'server' stats information to pCampbot, as used elsewhere in OpenSimulator
...
This adds the "show stats", "stats record", etc. commands and information on available Threadpool threads, etc.
It also adds the Watchdog which logs warnings if time between executions is unexpectedly large.
2014-08-13 19:53:42 +01:00
Justin Clark-Casey (justincc)
f6f7585ec5
Add a "debug scene set child-repri <double>" command that allows child reprioritization distance to be changed on the fly.
...
This governs when child agent position changes are sent to neighbouring regions.
Corresponding config parameter is ChildReprioritizationDistance in [InterestManagement] in OpenSim.ini
For test purposes.
2014-07-29 00:13:29 +01:00
Justin Clark-Casey (justincc)
1e3027afb1
Temporary stop CAPS service points from being added to stats as this can be a huge number.
...
A stop gap solution - a better one may be to improve stats display on simulator-side.
Caps information is still accessible via the "show caps stats by user" and "show caps stats by cap" commands
2014-07-26 01:41:03 +01:00
Justin Clark-Casey (justincc)
8c5c9806d7
Add stats for service endpoints using existing data.
...
For each service endpoint (e.g. posts to the xinventory service), a stat is available which shows the number of requests received and moving average per second
The full name is "service.<http-method>:<path>.requests (e.g. service.POST:/xinventory.requests)
2014-07-25 23:00:41 +01:00
Justin Clark-Casey (justincc)
cc61681484
Revert "Write UDP statistics to the log, not just the console (e.g., "show queues")"
...
Fixes http://opensimulator.org/mantis/view.php?id=7280
It can't be done this way because the stats data needs to show up on the console at all log levels, not just debug.
But this means setting it to log at fatal, which is not appropriate for this stuff in the log.
I understand the desire but this has to be done some other way, perhaps by (yet another) config parameter.
Also, this was already being done with the ClientStatsReport but that also should be done in another way, I think.
This reverts commit 5d53412766
.
2014-07-25 01:56:41 +01:00
Justin Clark-Casey (justincc)
3355bedaeb
minor: Limit processor related stats to 3 decimal places instead of all the places.
...
Easier to read and analyze, and probably still too much detail (1 dp would probably be fine)
2014-07-21 23:08:15 +01:00
Justin Clark-Casey (justincc)
200dcee1b7
Fix CPU processor use reporting on Mono.
...
Despite the comments in the code, it appears that the issue where the .NET performance counter was wrongly idle time time on Mono was fixed in 2009.
https://bugzilla.novell.com/show_bug.cgi?id=468625
Which means that the workaround is no longer necessary and produces bad results instead.
2014-07-21 22:55:38 +01:00
Oren Hurvitz
712c50e0bf
Don't append attachments multiple times
2014-07-21 09:29:50 +01:00
Oren Hurvitz
6b57b61836
Log RestClient requests similarly to WebClient (e.g, "debug http all 6" logs the entire request and response)
2014-07-21 09:24:45 +01:00
Oren Hurvitz
af3498efdb
In "show throttles", show the maximum drip rate. This shows whether a client is being throttled due to past poor performance.
2014-07-21 09:10:50 +01:00
Oren Hurvitz
5d53412766
Write UDP statistics to the log, not just the console (e.g., "show queues")
2014-07-21 09:10:19 +01:00
Oren Hurvitz
48d1cca303
Better logging of threadpool activity in Overload mode: if we didn't log "Queue threadfunc" for a particular thread then don't log "Run threadfunc" or "End threadfunc" for that thread either.
2014-07-21 08:30:17 +01:00
Oren Hurvitz
99ac770abb
Close streams immediately when we finish using them
2014-07-21 08:30:03 +01:00
Justin Clark-Casey (justincc)
d1b7c2ece3
minor: remove long unused RegionInfo.ignoreIncomingConfiguration
2014-07-19 01:15:15 +01:00
Justin Clark-Casey (justincc)
29d5950838
minor: remove long unused RegionInfo.commFailTF
2014-07-19 01:10:53 +01:00
Justin Clark-Casey (justincc)
a26d1ffc66
minor: add method doc to ICommands.HasCommand()
2014-07-18 22:31:04 +01:00
Justin Clark-Casey (justincc)
9be935ac6d
Add ICommands.HasCommand() method so that we can detect whether a command has already been registered without needing to also run it
2014-07-18 22:27:39 +01:00
Justin Clark-Casey (justincc)
0c8f3dddd8
Use thread-safe version of .NET Random as the SDK class is not thread-safe.
...
As per http://msdn.microsoft.com/en-us/library/system.random%28v=vs.100%29.aspx , the .NET Random class is not thread-safe.
If called by multiple threads at once, methods may return 0.
Except for llRand(), other OpenSimulator code did not lock before calling a shared Random instance.
This commit adds a ThreadSafeRandom class that extends Random but does internal locking so that it is thread-safe.
This change is invisible to existing callers and the explicit locking in the llFrand() implementation is now redundant.
2014-07-14 20:08:11 +01:00
Justin Clark-Casey (justincc)
a8860d79d8
Turn RestClient.Request() logging down the debug and comment out for now.
2014-07-09 23:12:14 +01:00
Justin Clark-Casey (justincc)
8ae5ab809f
Fix issue with running "stats record start|stop" console command
...
In commit e6080a38
(Wed Mar 19 00:29:36 2014) I renamed this from "debug stats record start|stop"
Unfortunately, I didn't do this fully so before this commit "stats record start|stop" will report a usage failure with the old debug text.
Unfortunately this is in the 0.8 release. The workaround is to repeat the last command twice (e.g. "stats record start start")
2014-07-08 18:49:57 +01:00
Justin Clark-Casey (justincc)
889194db63
Actually call Close() for shared region modules when the simulator is being shutdown.
...
Adds regression test for this case.
2014-07-02 23:49:25 +01:00
Justin Clark-Casey (justincc)
5450b1b024
Change assembly versions to 0.8.1
2014-06-17 18:37:15 +01:00
Justin Clark-Casey (justincc)
602587b8d5
Update dev version to 0.8.1
2014-06-17 18:32:26 +01:00
Robert Adams
7f0adfd203
Add [Startup]LogShowStatsSeconds=n parameter which controls the interval
...
that simulator statistics is output to the console. Setting to zero turns
stats logging off.
2014-06-13 21:27:07 -07:00
Justin Clark-Casey (justincc)
31096fb1fe
Add rc3 flavour option
2014-06-10 20:19:19 +01:00
Diva Canto
14a31c3e9b
Correct minor bug regarding packing of estate bans
2014-06-01 12:01:49 -07:00
Diva Canto
2ff9ea3f80
Fixed a few things pertaining to interfacing with the estate service. Specifically, StoreEstateSettings was not being used anywhere; instead EstatSetting.Save was being called, but that method is a trigger to the DB-layer code directly, which, besides being wrong, was making it impossible to replace the service with a remote connector.
...
Also added more packing/unpacking code.
2014-06-01 10:06:26 -07:00
Diva Canto
eaf595c008
Fix a bug where estate not found would result in a dummy estate record with erroneous information.
...
Also, added conversion of EstateSettings from/to key-value pairs in preparation for robust net work connectors.
2014-05-31 11:40:54 -07:00
dahlia
9ced61fbc2
Add a 0 parameter overload for RestClient.Request() for use when no auth is required. This preserves API compatibility for external modules using this function.
2014-05-30 13:47:19 -07:00
Justin Clark-Casey (justincc)
8656b5e948
Fix bug where setting a parcel in a varregion for sale would make sale bitmap generation in WorldMapModule throw an exception on next startup.
...
This commit replaces the hardcoded region sizes in WorldMapModule.GenerateOverlay() with numbers pulled from m_scene.RegionInfo
2014-05-30 19:40:10 +01:00
Oren Hurvitz
33cc847c4a
When saving an OAR in "Publish" mode, also discard Group information
2014-05-26 15:33:13 +01:00
Diva Canto
227685bea4
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-05-23 16:20:04 -07:00
Diva Canto
20f20895cf
Adds optional HTTP Basic Authentication to Robust service connectors.
2014-05-23 16:19:43 -07:00
Justin Clark-Casey (justincc)
f55e153636
Compile the regex that extract categories for colourization just once rather than on every single log.
...
Compiling every time is unnecessary since Regex is thread-safe.
2014-05-23 21:09:48 +01:00
Justin Clark-Casey (justincc)
fbcb76383d
Allow console output to be multiline by making colourization regex RegexOptions.SingleLine
2014-05-23 20:57:50 +01:00
Oren Hurvitz
251b93d97e
Store the Teleport Flags in the Circuit. This doesn't seem to be necessary, because everything has worked so far, but it's the right thing to do.
2014-05-22 13:16:06 +01:00
Oren Hurvitz
882af7195c
Better error-handling and logging in case User Profile requests fail
2014-05-19 11:11:06 +01:00
Justin Clark-Casey (justincc)
4569c595bf
Fix behaviour change in recent commit bbc1dc6
so that SynchronousRestObjectRequester.MakeRequest() calls with no timeout specified use the default HttpWebRequest timeout as previously.
...
I mistakenly thought that that default request timeout was inifite rather than 100 seconds, restoring previously behaviour.
As per http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.timeout%28v=vs.100%29.aspx
Relates to http://opensimulator.org/mantis/view.php?id=7165
2014-05-13 22:21:20 +01:00
Justin Clark-Casey (justincc)
bbc1dc6bce
Replace existing 0 timeout in internal overloaded SynchronousRestObjectRequester.MakeRequest() methods with proper Timeout.Infinite (-1) instead.
...
Triggered by recent faf9ba53
though this was wrong in the code before, it's just that we didn't actually try to set the timeout given.
2014-05-12 22:37:07 +01:00
Justin Clark-Casey (justincc)
7db4336f1c
minor: Add method doc to SynchronousRestObjectRequester.MakeRequest() methods
2014-05-12 22:05:02 +01:00
Justin Clark-Casey (justincc)
faf9ba53fc
In SynchronousRestObjectRequester.MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout, int maxConnections) actually set timeout on WebRequest if given.
...
Previously, we were doing nothing with this parameter.
No effect on current code since none of the 6 callers attempt to use the timeout.
2014-05-12 19:20:00 +01:00