Commit Graph

14197 Commits (ef39fcf465badfc47842ad0ee5de810f84dd65b5)

Author SHA1 Message Date
Justin Clark-Casey (justincc) ef39fcf465 Add basic regression test ThrottleTests.TestClientThrottleSetNoLimit 2014-10-08 20:52:17 +01:00
Justin Clark-Casey (justincc) e8337d6a51 refactor: Move test clientstack setup code out of BasicCircuitTests into OpenSim.Tests.Common.ClientStackHelpers 2014-10-08 20:17:51 +01:00
Justin Clark-Casey (justincc) 90b31a2f54 Fix recent regression in "debug lludp throttles get" command that stopped it printing any information. Also fix max throttle displayed to be properly kbps 2014-10-08 00:46:24 +01:00
Justin Clark-Casey (justincc) b40220885e minor: in "show server throttles", display unset if new client throttle value is not set rather than 0 2014-10-08 00:31:35 +01:00
Justin Clark-Casey (justincc) 649891a0d8 Add throttle-max option to "debug lludp throttles set" to allow runtime setting of default and existing client throttles.
Doesn't yet adjust until clients submit new throttle settings.
2014-10-07 18:34:08 +01:00
Justin Clark-Casey (justincc) a529bc8f2a Change "debug lludp throttle *" commands to "debug lludp throttles" for consistency (and because I keep typing throttles).
This will still work with "debug lludp throttle" anyway.
2014-10-07 01:44:36 +01:00
Justin Clark-Casey (justincc) 9ee171f441 Fix console set and get of max scene rate. Was performing wrong calculation - throttle buckets are set in bytes, not bits 2014-10-07 01:08:22 +01:00
Justin Clark-Casey (justincc) 7ca4e2cb6f Eliminate 'max' throttle setting from server throttles report since this never applies. 2014-10-07 00:08:44 +01:00
Justin Clark-Casey (justincc) 523f0b8938 Allow "debug lludp throttle *" commands to work without a user name, in which case they apply to all users in the lludp server 2014-10-07 00:03:05 +01:00
Justin Clark-Casey (justincc) 4f04c0b560 minor: add apparant total to logging when client sets throttles 2014-10-06 23:39:52 +01:00
Justin Clark-Casey (justincc) b7f78bf0f7 minor: fix bug in throttle logging where arguments were mismatched 2014-10-06 23:34:27 +01:00
Justin Clark-Casey (justincc) 5cb3b87b21 Add "debug lludp set scene-throttle-max <value>" console command to allow us to potentially set the scene max throttle on the fly. 2014-10-06 23:29:41 +01:00
Justin Clark-Casey (justincc) 97e25a0f45 Move information about "server agent rate" throttles into "show server throttles" command rather than "show throttles"
THis allows us to see the rates when no client is connected to the region.
2014-10-06 22:18:54 +01:00
Justin Clark-Casey (justincc) 026df644b5 Add "show server throttles" command for showing server specific information about throttles
This is separate from the user-oriented "show throttles" command since one will often only want to know about varying client throttle settings.
Currently displays max scene throttle and adaptive throttles config if set.
2014-10-06 20:34:17 +01:00
Justin Clark-Casey (justincc) c9d7eb30db Add OutgoingPacketsQueuedCount clientstack stat.
This is the total of queued outgoing packets across all connections, as also seen in the "show queues" command.
Gives some early indication of whether the simulator can't send all outgoing packets fast enough.
Though then one would want to check that this isn't due to a few bad client connections.
2014-10-02 23:49:37 +01:00
Justin Clark-Casey (justincc) db5de62394 minor: Remove compiler warnings from unused fields in TokenBucket 2014-10-02 23:20:39 +01:00
Justin Clark-Casey (justincc) 5c3f33bb48 refactor: Move LLUDPServer console commands into their own class. 2014-10-02 23:18:21 +01:00
Justin Clark-Casey (justincc) d50f85dff6 minor: Comment out received seed caps request logging for now 2014-10-02 22:37:45 +01:00
AliciaRaven d53703362e When a prim is bought through BuySellModule, the click action is not changed back from buy object. This means that after the object is bought, it still appears as if for sale which can be confusing. This sets it back to touch, the default after sale.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2014-10-02 22:37:25 +01:00
Justin Clark-Casey (justincc) 4e1f2ba1f4 Make "generate map" console command also trigger upload to maptiles as well as asset generation without performing tile generation twice. 2014-10-02 22:37:11 +01:00
Justin Clark-Casey (justincc) c5c387e838 refactor: rename "debug lludp throttle status" to "debug lludp throttle get" to match set command 2014-09-30 18:43:02 +01:00
Justin Clark-Casey (justincc) f7fef5bc3b Add "debug lludp throttle set" command to allow setting of parameters at runtime
Can currently only set adaptive true|false, where adaptive = false
2014-09-30 18:41:04 +01:00
Justin Clark-Casey (justincc) 8e5a62c8e7 Add "debug lludp throttle status" command to return status information about a client's throttle (currently just whether adaptive is enabled). 2014-09-30 18:18:34 +01:00
Justin Clark-Casey (justincc) ad15e06611 Add "debug lludp throttle log <level> <avatar-first-name> <avatar-last-name>" to control extra throttle related debug logging. 2014-09-30 18:12:51 +01:00
Justin Clark-Casey (justincc) 319c51b8a8 Don't unnecessarily remove from backup objects that were not directly attached from the scene.
These are never in region backup in the first place since recent 11830c43
Extend regression test to check backup status.
2014-09-29 23:18:18 +01:00
Justin Clark-Casey (justincc) 11830c4363 Do not add attachments to the region scene object backup list.
Attachment persistence is not handled in this way and this just results in a load of busy work until a check in each SOG terminates a backup check for attachments anyway.
2014-09-27 01:02:27 +01:00
Justin Clark-Casey (justincc) 2eece5b009 Move expired objects cleaning trigger to the maintenance thread of a region rather than it's main scene loop.
[Startup] default setting UpdateTempCleaningEveryNFrames becomes UpdateTempCleaningEveryNSeconds.
Default becomes 180s instead of effective 182s (which would also vary with any changes in frame time or extra long frames)
2014-09-27 00:30:42 +01:00
Justin Clark-Casey (justincc) c02b33d592 Eliminate a few unnecessary calculations in the maintenance loop.
Also uses wait event instead of sleep for periodicity control.
2014-09-26 21:29:27 +01:00
Justin Clark-Casey (justincc) 07c6630c1c Fix recent minor regression where the default frame time wasn't being set if there was no startup config section.
Caused some regression tests to fail.
2014-09-26 21:22:41 +01:00
Justin Clark-Casey (justincc) cfc95afc3d If Bullet is running on its own thread, use a reset event to control timing rather than a sleep.
In theory, there should be no difference between these mechanisms.
However, on at least Mono 3.2.8 waiting via an event appears to be much more accurate.
2014-09-26 20:56:22 +01:00
Justin Clark-Casey (justincc) 85e04198fe Improve frame time stability by taking a few unnecessary repeated calculations out of the main scene loop.
Also uses a wait event to sleep rather than a Thread.Sleep to allow the loop to be interrupted in a more controlled manner when necessary.
2014-09-26 20:05:22 +01:00
Justin Clark-Casey (justincc) 1256d643be Add "debug lludp data out" console command for logging outgoing data just before it's put on the wire.
Unlike "debug lludp packet" which logs at the point where OpenSim first asks the clientstack to send a certain outgoing packet, this logs immediately before the actual send.
For low-level debugging purposes.
2014-09-24 23:42:57 +01:00
Justin Clark-Casey (justincc) 6b05cfce25 Remove an unnecessary check at the bottom of Scene.CloseAgent()
At this point sp != null so no check required.
2014-09-24 00:45:19 +01:00
Justin Clark-Casey (justincc) 0448935b1b Set appearance refresh to false by default.
This setting was originally added some time ago to deal with issues where appearance was not received properly by all users.
However, it does not scale well with large numbers of agents.
Disabling to see if the original problem has abated or whether this will have to be tackled in another way.
2014-09-23 18:11:05 +01:00
Justin Clark-Casey (justincc) 95aade7fdb When osNpcMoveToTarget() is called for a sitting avatar then silently do nothing rather than throwing an error.
Resolves http://opensimulator.org/mantis/view.php?id=7311
2014-09-23 17:27:27 +01:00
Justin Clark-Casey (justincc) 89c153ca7f Fix issues where setting llSetTextureAnim(FALSE... did not work properly).
I ended up amalgamating patches from http://opensimulator.org/mantis/view.php?id=7313 and http://opensimulator.org/mantis/view.php?id=7318
Thanks a lot to both bobshaffer2 and cinderblocks.
2014-09-23 17:27:18 +01:00
Justin Clark-Casey (justincc) a6c79fe956 Fix regression from recent a02dae5 where stand positions are no longer correct when a sit target is specified.
Adjusts stand position using just avatar position relative to the root prim instead.
Fixes http://opensimulator.org/mantis/view.php?id=7315 and preserves previous fix for http://opensimulator.org/mantis/view.php?id=7299
2014-09-23 17:27:13 +01:00
Justin Clark-Casey (justincc) 1e5c3f26f0 Make BulletSim thread be ThreadPriority.Highest if running
Will only effect Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 applied
For test purposes
2014-09-16 18:32:36 +01:00
Justin Clark-Casey (justincc) e6df61fbe9 Make outboudn and packet inbox handling threads highest priority.
Will only have any affect under Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 (not recommended) applied.
For assessment purposes.
2014-09-16 18:27:08 +01:00
Justin Clark-Casey (justincc) 5991a98d80 Set ThreadPriority on main scene thread to highest.
This will only have an effect on Windows systems or mono with the (not recommended) mono-3.2.8 debug patch https://gist.github.com/justincc/31e52218d098529b4696 applied
2014-09-16 18:17:05 +01:00
Justin Clark-Casey (justincc) 0b7736b861 Temporarily add root agent rez attachments work to job engine if it is 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.
2014-09-09 18:26:41 +01:00
Justin Clark-Casey (justincc) a086adf427 Add experimental job engine to see if queueing some existing async work 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.
2014-09-09 18:14:56 +01:00
Justin Clark-Casey (justincc) e76cc35409 Merge branch 'master' into ghosts 2014-09-09 17:22:09 +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) e4d16e6795 Make LLUDP output queue refill thread active by default, since load tests have shown that this has better scalability.
For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime.
2014-09-04 18:24:59 +01:00
Justin Clark-Casey (justincc) 73e20b7f5f For processing outbound http requests in the XMLRPCModule, start the thread through Watchdog for monitoring and stat purposes. 2014-09-04 00:22:30 +01:00
Justin Clark-Casey (justincc) 0692ebfbc6 Start long-lived thread in IRCConnector via watchdog rather than indepedently, so that it can be seen in "show threads" and stats 2014-09-04 00:00:51 +01:00
Justin Clark-Casey (justincc) 4b04d22899 Don't need to check separate physics status in bulletsim update since that method is only run for an indepndent thread anyway.
Also remove bulletsim monitored thread from watchdog on shutdown.
2014-09-03 23:53:04 +01:00
Justin Clark-Casey (justincc) 6e6512eb4a Make bulletsim thread alarm if no update for 5 seconds.
The cost is minimal (also done for scene loop) at the benefit of telling us if this thread simply stops for some reason.
2014-09-03 23:43:59 +01:00
Justin Clark-Casey (justincc) 29400538b7 minor: fix indenting from previous commit b08ab1e 2014-09-03 23:37:20 +01:00