Commit Graph

27792 Commits (1697f3e0c21bf4dfe76157078eb4a5c3dc1b71a7)

Author SHA1 Message Date
Melanie Thielker ee7debcca6 Revert "When scripts are sleeping, don't count that as execution time"
The approach is good but the way it is written breaks the architecture.
Rewrite follows.

This reverts commit a568f06b7f.
2015-08-17 18:11:45 +02:00
Melanie Thielker 1de5612d8b Merge branch 'master' of opensimulator.org:/var/git/opensim 2015-08-17 18:08:32 +02:00
Melanie Thielker 664ecb1938 Prevent the spammy "many event" message from appearing in normal use.
Console command debug xengine now turns that on.
Also, per orenh, remove the triggers at 1000 and 10000 as they are not
useful now that top scripts works.
2015-08-17 18:05:39 +02:00
Diva Canto 0cdd1165c8 Minor improvement of previous patch. 2015-08-16 21:23:41 -07:00
Cinder fc6fe75268 MANTIS-7684 - Use the user management module to get username for script dialogs
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-08-16 21:13:42 -07:00
Melanie Thielker ce2aeb8424 Make Setup_XXX=disabled not even load the module at all, rather than
loading and not using it
2015-08-16 19:01:23 +02:00
Melanie Thielker c83da03183 Create want and need lists for agent data interchange formats. 2015-08-16 01:45:15 +02:00
Diva Canto 0f8a7982dc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2015-08-15 16:08:42 -07:00
Diva Canto 4cbbbefbf6 Removed ignoreCase=true from the call to Type.GetInterface, because, well, we don't want to ignore case. And this seems to be causing problems in mono 4.3. 2015-08-15 16:08:14 -07:00
Melanie Thielker 2374c4a4c1 Adding the IAgentStatefulModule interface. It is used in addtion to
one of the existing module interfaces to denote a module that holds
agent specific state that should be transferred to other regions
2015-08-15 19:08:45 +02:00
Diva Canto 83059724ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2015-08-14 19:20:20 -07:00
Drake Arconis d70db51466 Only send the requested ObjectPropertiesFamily in the RequestObjectPropertiesFamily reply and not the actual ObjectProperties packet
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-08-14 19:19:49 -07:00
Melanie Thielker 1fb2f0296f Track selected objects per client 2015-08-15 02:46:41 +02:00
Drake Arconis 4f3198da22 Only send the requested ObjectPropertiesFamily in the RequestObjectPropertiesFamily reply and not the actual ObjectProperties packet
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-15 01:57:25 +02:00
dahlia 1bfdc9f32b Update libomv managed dlls to 49a5cf05c32e 2015-08-14 16:55:06 -07:00
Drake Arconis a5967d918a Send a proper ownerid for Object messages to conform with what viewer expects
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-15 01:18:20 +02:00
Melanie Thielker e9067c133c Remove DOS line endings from LSL_API.cs 2015-08-13 01:34:18 +02:00
Diva Canto a22e6cb7f5 Whitespace borkness? 2015-08-12 09:13:45 -07:00
Drake Arconis f25c67ea1d Send correct uuids in the FromID and ID packet fields for llInstantMessage
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-08-12 09:08:01 -07:00
Oren Hurvitz 0b5385ffce Added *.Tests.log to .gitignore 2015-08-11 11:55:51 +03:00
Oren Hurvitz 59da146e9d When the user stops a script, have it remain stopped
Previously the script state was never saved for a !Running script, so upon region restart the script would be Running again.

The use of the 'StayStopped' flag is needed because all scripts are automatically stopped when the region shuts down, but in that case we shouldn't save in their state that they're !Running.
2015-08-11 08:44:27 +01:00
Oren Hurvitz a568f06b7f When scripts are sleeping, don't count that as execution time
Sleeping doesn't use the CPU.
2015-08-11 08:44:27 +01:00
Oren Hurvitz d24528b3bc Show Script Time in the statistics panel
The value shown is the number of milliseconds per frame that were spent executing scripts in this region.
2015-08-11 08:44:26 +01:00
Oren Hurvitz 5679cd0100 Changed "Script Execution Time" to be the gross time, i.e. including handling it in XEngine
Previously the "Net Time" was reported: only the time actually spent in the script's code. This is not a correct indication of how much load the script places on the simulator, because scripts that change state often or have many events use up a lot of time just in the event handlers, and previously this time wasn't counted.
2015-08-11 08:42:31 +01:00
Oren Hurvitz a3bed1fbcb Report "Script Execution Time" as the time spent executing the script in the last 30 seconds. Use a sliding window to calculate this.
Notes:
- This metric provides a better indication of which scripts are taking up a lot of CPU (and therefore should be optimized).
- Previously the execution time was reset to 0 in every new measurement period, causing the reported time to fluctuate for no reason. This has been fixed by using a sliding window.
2015-08-11 08:42:26 +01:00
Oren Hurvitz 287096d826 Improved calculation of Script Execution TimeStarted
1. Use a Stopwatch (a high-resolution timer)
2. Whenever we start a new measurement period, zero out the total execution time (previously it just kept accumulating)
3. Changed the measurement period from 30 minutes to 30 seconds. This is much more useful in the "Top Scripts" dialog, as it shows currently active scripts
2015-08-11 07:35:41 +01:00
Oren Hurvitz 20af31f18e Fixed mistakes related to confusion between Environment.TickCount (milliseconds) and TimeSpan.TicksPerXXX (10000 x milliseconds) 2015-08-11 07:35:40 +01:00
Oren Hurvitz 4c6fb9fb64 Log scripts that have processed many events: this is probably an indication of a problem 2015-08-11 07:35:39 +01:00
Oren Hurvitz aadd5627fe Removed unused code that checked wait_timeout in MySQLEstateData 2015-08-11 07:35:39 +01:00
Oren Hurvitz 7457173fe4 Fixed calling "debug xengine log" without the 'level' parameter: this should show the current log level; not crash 2015-08-11 07:35:38 +01:00
Oren Hurvitz c8135834db Prevent a crash if "debug jobengine log" is entered without a log level 2015-08-11 07:35:37 +01:00
Oren Hurvitz 4ad1468165 Better handling of invalid XML: a) prevent infinite loop on EOF; b) better logging
If the XML was truncated for some reason then ExecuteReadProcessors() would get into an infinite loop, using high CPU. Now it detects EOF (and several other error cases) and aborts.

The rest of the changes just improve logging of XML in case of errors, so that we can see what the bad XML is.
2015-08-11 07:35:37 +01:00
Oren Hurvitz 373455a6fa Fixed mistakes in string format specifiers (e.g., "{0)" instead of {0}") 2015-08-11 06:16:23 +01:00
Robert Adams fe37cb9990 BulletSim: rearrange code and add different locking to eliminate chances
of race conditions and, especially, race conditions when an object is
removed and quickly re-added to a scene.

This hopefully reduces the occurance of problems when avatars TP within
a region -- the main problem being the loss of collisions.
2015-08-09 15:36:50 -07:00
Robert Adams fe86df0ec9 BulletSim: update the motion actors so they completely clean themselves
when Dispose() is called. This reduces chance of object leakage when
    destroying objects.
Rearrange initialization and shut down of BSActorLockAxis so it is
    consistant with other actors.
2015-08-09 15:34:06 -07:00
Kevin Cozens f3c883a26d Corrected spelling of SQLITE. Fixes mantis #7675. 2015-08-08 17:08:06 -04:00
Diva Canto d9a9f6f43b Convert the enum to int before casting it to string for DB query 2015-08-08 13:47:42 -07:00
Diva Canto 2c9ffc2a87 Fixed failing test 2015-08-08 12:56:52 -07:00
Diva Canto 959872315f WARNING: massive refactor to follow libomv's latest changes regarding inventory folders. The newest version of libomv itself is committed here. Basically, everything that was using the AssetType enum has been combed through; many of those uses were changed to the new FolderType enum.
This means that from now on, [new] root folders have code 8 (FolderType.Root), as the viewers expect, as opposed to 9, which was what we had been doing. Normal folders are as they were, -1. Also now sending folder code 100 for Suitcase folders to viewers, with no filter.
All tests pass, but fingers crossed!
2015-08-08 12:12:50 -07:00
Oren Hurvitz 2153a01cc7 Have osAvatarName2Key check the cache first, even for foreign users
Another change: removed the second call to userManager.AddUser(). UserManagementModule won't modify an existing record.
2015-08-07 11:34:52 +03:00
Cinder f218cbd29d max-agent-groups support
Robust now tells viewers what the maximum number of groups is. Viewers show this limit to the users, and enforce it.

The default is 42, which is what viewers had assumed was the maximum number before this update.

Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-08-07 07:42:26 +01:00
Robert Adams 5a1279af8a BulletSim: clean up some code for axis locking. No functional change. 2015-08-06 21:48:50 -07:00
Robert Adams f0417c5d50 BulletSim: rearrange code and add some tests to try and resolve the
initialization race conditions reported in Mantis 6792.

When a region is initializing it seems that the prim initialization code
can be interrupted part way through then taints are processed for
prims that are not completely there.
2015-08-06 19:57:32 -07:00
Christopher 86c426e587 create osGetAvatarHomeURI
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-04 18:09:13 +02:00
Christopher b5be5ca490 Make osAvatarName2Key() able to get names from unknown HG users
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-04 18:08:54 +02:00
Oren Hurvitz c4f8630968 In the AgentCircuitData of HG users, set the last name to include the port
E.g., instead of "first.last @grid.example.com", the name is now "first.last @grid.example.com:8002"
2015-08-03 16:25:45 +03:00
Oren Hurvitz dc098ef671 Merged the two "Version 2" migrations in PGSQL 2015-08-03 15:34:59 +03:00
Geir Nøklebye 818735ae2c PGSL Presence migration to correct a double version 2 migration that existed
The migration file had a version 2 migration defined twice and
therefore the LastSeen field most likely never was defined in the
presence file. This migration adds the field and migrates the table to
version 4.

Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-08-03 13:32:11 +01:00
Oren Hurvitz 5a59a6d445 Removed unused variable 2015-08-03 15:31:48 +03:00
Robert Adams fdb7a804fc Add an option to processes physics collisions using FireAndForget.
Off by default but set with [Startup]ShouldUseFireAndForgetForCollsions=true

There is a problem with physics colliions sometimes stopping. One suspicion
is that the long callback path from the physics engine into the script engine
is causing problems. Enabling this feature passes the collision into the
script engine on a separate thread and not the main simulation thread.
Tester can enable this and see if the collsions stay around. If they still
fail, this commit should be reverted and another solution looked for.
2015-08-02 22:31:53 -07:00