Commit Graph

1465 Commits (877d3092b45723a2fe8b3a5bbc224cd5d5e55e82)

Author SHA1 Message Date
Melanie Thielker 8c7f475740 Add some values to the SimulatorFeatures cap's OpenSimExtras section:
SimulatorFPS: The actual optimal FPS of the simulator, un-fudged
SimulatorFPSFactor: The fudge factor that is applied to the stats sent to the viewer
SimulatorFPSWarnPercent: The percentage below which a lag meter should go to amber
SimulatorFPSCritPercent: The percentage below which a lag meter should go to red
To display the real values, a viewer would divide the reported FPS by the SimulatorFPSFactor and use that to calculate the percentage of SimulatorFPS. E.g. reported is 55fps, SimulatorFPSFactor is 5.0 and SimulatorFPS is 11.
2015-11-12 21:13:44 +01:00
Melanie Thielker d3911606ef Move a call to RequestModuleInterface to a new scene callback function
because the current implementation would have always returned null
2015-11-12 20:34:09 +01:00
UbitUmarov d17633f6c0 replace StatisticsFPSfactor that needed to be changed with FrameTime to a simpler true or false Normalized55FPS that is now TRUE by default. Incorrectly this commit also contains changes that should had their own commits: changes to heartbeat time control ant to gathering and calculation of related statistics. 2015-11-09 15:06:41 +00:00
UbitUmarov 097c56330a rename MinFrameTime as FrameTime, since it is not a minimum but a target value; retune its value a bit so reported FPS is closer to integer value; change ode step size acording to reduce jitter in phys FPS; Make Statistics Scaling factor (fludge factor) configurable. (legacy default of 5.0 in code) 2015-11-08 04:28:46 +00:00
UbitUmarov 7cb6ecb9f5 Make physics engines finish internal representation of loaded prims before starting simulation so it does start for all at same time. Currently only in use by ubOde 2015-10-22 17:34:28 +01:00
UbitUmarov e464bf5d82 recover scripts execution time stat i lost on previus changes. Behing async, this will not add with other time stats giving total frame time, as happens on other simulators. But its a good diag stat. 2015-10-21 18:34:06 +01:00
UbitUmarov 2abe1ccc59 change GetNewRezLocation physics ray results processing 2015-10-01 14:47:32 +01:00
UbitUmarov 028cbb7cbe remove a auxiliar vector no longer needed 2015-09-28 18:10:27 +01:00
UbitUmarov ad58f9b17e recover a lost position check for mega regions 2015-09-28 17:55:35 +01:00
UbitUmarov d0a7e5bd78 fix object rez on terrain, i broke adding physics assistance 2015-09-26 02:33:57 +01:00
UbitUmarov 0fb033e567 fix object crossings to other scene on same instance 2015-09-26 01:31:57 +01:00
UbitUmarov 58daecfccb don't mess ray direction.. 2015-09-24 06:57:53 +01:00
UbitUmarov af34bfddd1 add physics assistance on placement of a new object. This may help on mantis 7727, but may still need more work 2015-09-24 06:46:07 +01:00
UbitUmarov 04800a7570 add missing sit check 2015-09-21 19:56:59 +01:00
Kevin Cozens b412db72be Fix a regression to GetSittingAvatars(). Return List<ScenePresence> once more. 2015-09-21 11:00:34 -04:00
UbitUmarov 5becc16acf try to improve vehicles crossing with Xengine. Lag seems main issue now, but needs testing, specially the fail cases, that most likelly need more work 2015-09-14 16:40:01 +01:00
UbitUmarov 40fd7cbf74 a mess with Modules and Module 2015-09-08 20:03:54 +01:00
UbitUmarov 774c42e7fb fix some compile 2015-09-08 17:02:44 +01:00
UbitUmarov 5b3e2ab9aa Merge branch 'mbworknew1' into ubitworkvarnew 2015-09-08 15:03:22 +01:00
UbitUmarov 29d78f7e3a add script events per sec stat, using the time report code, but ignoring the time for nowwq 2015-09-08 14:13:56 +01:00
Robert Adams e5367d822b Merge of ubitworkvarnew with opensim/master as of 20150905.
This integrates the OpenSim refactoring to make physics, etc into modules.
AVN physics hasn't been moved to new location.
Does not compile yet.

Merge branch 'osmaster' into mbworknew1
2015-09-08 04:54:16 -07:00
Diva Canto 82ea4179da Clean up viewer-based access control specifications. 2015-09-06 10:00:20 -07:00
UbitUmarov 3a0137cb45 fix odd drawdistance control initialization 2015-09-06 16:36:30 +01:00
Diva Canto d00f73c3a4 Deleted OpenSim.Framework.Communications. Moved its two remaining files to OpenSim.Framework. 2015-09-04 14:39:23 -07:00
UbitUmarov 08f9c54554 use GetTimeStampMS to increase heartbeat and stats timing resolution. some rearrange on stat code ( MOSES special ones still out ) 2015-09-04 12:05:31 +01:00
UbitUmarov a11edceb00 seems to compile ( tests comented out) 2015-09-02 19:54:53 +01:00
UbitUmarov 371c9dd2af bad merge? 2015-09-01 14:54:35 +01:00
Diva Canto 11194209df First commit where physics work as region module.
Moved all physics dlls out of Physics and into bin directly, so they can be found by the module loader.
Removed call to PhysicsPluginManager.
2015-08-31 14:09:15 -07:00
UbitUmarov 4905c74ddf start sending terrain patchs in completmovement where we know its
position. Also reset camera to position on makeroot
2015-08-31 14:08:32 +01:00
Diva Canto ce2c67876e More namespace and dll name changes. Still no functional changes. 2015-08-30 21:05:36 -07:00
Diva Canto 2c0cad6dd3 Renamed the namespaces too 2015-08-30 20:29:31 -07:00
Diva Canto 5648eb7bd1 Moved instantiation of SceneCommunicationService object to inside the scene constructor. This was a left over from the original monolithic design of scene communications. The less the instantiators of scenes know about the scene's internals, the better. 2015-08-30 15:52:26 -07:00
UbitUmarov b114a04ed4 fix NeighborRegions code 2015-08-29 03:41:43 +01:00
UbitUmarov b82b16c954 take taints check terrain out of Onframe event and add a new event for it. Slow it down to 1/4 heartbeat rate (once every 363ms aprox) 2015-08-27 15:01:15 +01:00
UbitUmarov f6a59f74ab remove a 256m check 2015-08-21 00:35:55 +01:00
Melanie Thielker 028506cf3c Partial plumbing for the agent stateful module features negotiation 2015-08-20 00:18:45 +02:00
UbitUmarov 0af2fafddf add missing regionExtent setup and Scene physicsscene configuration ( not
exactly as core)
2015-08-19 11:04:28 +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
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
Oren Hurvitz e174dc87fb Fixed the whitespace in Scene.cs
The whitespace in this file was fubared recently
2015-07-13 12:37:18 +03:00
Cinder 0fa94f222d Refactor AgentPreferences so that database operations happen centrally. the opensim way.
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:42 -07:00
Melanie Thielker edcba95ab5 Merge branch 'master' into moses
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2015-05-20 23:40:52 +02:00
Talun d9afe354ac New values returned by llGetEnv
Implements recent changes to llGetEnv
region_cpu_ratio hardcoded to 1
region_product_sku hardcoded to OpenSim

Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2015-05-20 14:36:54 -04:00
Michael Heilmann 946a6622fe Removing duplicate definition 2015-05-19 15:52:13 -04:00
Michael Heilmann 140ea04b9d Merging Opensim upstream before generating patch 2015-05-19 15:18:45 -04:00
Glenn Martin 91a55c0794 Merge branch 'master' of https://github.com/M-O-S-E-S/opensim into moses.metricsPhase2
Fixed conflicts.

Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2015-05-19 14:07:44 -04:00
Glenn Martin 72e17b0219 Merge remote-tracking branch 'upstream/master' into moses.metricsPhase2
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SimStatsReporter.cs
2015-05-01 14:11:16 -04:00
Steven Zielinski 625452b84b Updated phase 2 to have the changes originally done in phase 1 for the defaultNumberFramesStored.
Test Plan: Tested using opensim standalone on windows with json stats.

Reviewers: rlouden

Reviewed By: rlouden

Differential Revision: http://cr.irl.ucf.edu/D275
2015-04-30 16:02:45 -04:00
Steven Zielinski 59778cfc2a Added in all metrics for Phase 1 except for Time Dilation.
Test Plan:
Tested on local opensim and firestorm. Not tested with JSON stats
reporter.

Reviewers: rlouden

Reviewed By: rlouden

Differential Revision: http://cr.irl.ucf.edu/D269

Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-04-29 18:22:24 -07:00
Steven Zielinski cb3c6038af Changed the 10 value to be a constant value inside of the Scene called m_DefaultNumberFramesStored.
Test Plan: Tested on windows with the json stats reporter.

Reviewers: rlouden, kboswell, clattin, ssirigam, martin

Reviewed By: rlouden, kboswell, clattin, ssirigam, martin

Differential Revision: http://cr.irl.ucf.edu/D273
2015-04-29 16:20:03 -04:00
Steven Zielinski bebdc29eff Changed the 10 value to be a constant value inside of the Scene called m_DefaultNumberFramesStored.
Test Plan: Tested on windows with the json stats reporter.

Reviewers: rlouden, ssirigam, martin, kboswell, clattin

Differential Revision: http://cr.irl.ucf.edu/D273
2015-04-28 16:56:53 -04:00
Steven Zielinski 0b3adc961b Added in all metrics for Phase 1 except for Time Dilation.
Test Plan:
Tested on local opensim and firestorm. Not tested with JSON stats
reporter.

Reviewers: rlouden

Reviewed By: rlouden

Differential Revision: http://cr.irl.ucf.edu/D269
2015-04-21 17:33:26 -04:00
Robert Louden c3138f9f38 Phase 2 additons with Frame Dilation metric. 2015-04-21 16:15:48 -04:00
Glenn Martin 1959eb8372 Moved over metrics from previous OpenSim 0.8.0.3 repository (this new repository is now the master branch from OpenSim). 2015-04-21 14:29:17 -04:00
Robert Adams 07dead7dcb varregion: any conversions of use of Constants.RegionSize converted into
Util.cs routines to convert region coords to and from world coords or handles.
2015-03-29 14:25:12 -07:00
Robert Adams bedafb8fae varregion: refactor use of 'double heightmap[,]' into references to new class TerrainData
and push the implementation from Scene into the database readers and writers.
2015-03-27 19:32:50 -07:00
Robert Adams 9f18e3ba80 Varregion: first cut at removing Border class checks for region crossings.
Added Scene.PositionIsInCurrentRegion(pos) to sense when new position needs some crossing work.
Many changes made to EntityTransferModule to accomodate new crossing sense logic.
2015-03-22 21:53:02 -07:00
Robert Adams 00b5b915c7 BulletSim: add VEHICLE_ more parameter value limit checking.
This only bounds passed parameters as there is no good way of refusing
the parameter setting. This mostly means that passing NaN's won't
crash the simulator.
2015-03-07 17:47:40 -08:00
BlueWall aeb8a4bf85 Revert "Adding dynamic ossl permission control"
This reverts commit a3681f3052 until
further testing. Jenkins now fails ossl tests.
2015-02-27 12:27:10 -05:00
BlueWall a3681f3052 Adding dynamic ossl permission control
Add permission by identifying uuid (owner/creator/group) and function. Revoke
permission in the same manner. Permission adjustments immediately effect
running scripts ability to call os functions.

osGrantScriptPermissions(UUID key,string function) Threat Level Severe
osRevokeScriptPermissions(UUID key,string function) Threat Level Severe

work sponsored by: Rage
2015-02-27 11:05:15 -05:00
Justin Clark-Casey (justincc) 5861401faa Remove long unused region parameters from SceneBase. Some of these weren't even being set. Region parameters come from Scene.RegionInfo instead. 2014-12-03 21:44:22 +00:00
Justin Clark-Casey (justincc) 2d2aa6e076 minor: Just have one message that displays successful registration of a region with its parameters rather than 2 2014-12-03 21:40:39 +00:00
Justin Clark-Casey (justincc) 86367d7219 refactor: Move methods to start a monitored thread, start work in its own 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
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc) 1d19e1bbd0 Add naive implementation of controlled incoming HG attachments to manage load.
Instead of processing all incoming attachment scene object concurrently, process them consecutively to eliminate potential overload from this source.
This is a naive implementation because it does not currently account for slow foreign asset services.
Although it may take longer, this approach may also improve attachment visibility for HG avatars
since the scene object is now always added to the scene after receiving assets from the foreign service and not before.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) a9dde81753 minor: Correct letter accidentally added to copyright notice on top of Scene.cs (almost five years ago!) 2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) b7ef6009a7 In Scene.AddNewAgent(), avoid a situation where an exception can result in a client being added to the manager without IClientAPI.SceneAgent being set.
This is done by adjusting the order of code so that SceneAgent will always be set before adding the client.
Various parts of the code (rightly) assume that a a client registered to the manager will always have a SceneAgent set no matter what.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) b9b483151f Eliminate a few unnecessary calculations in the maintenance loop.
Also uses wait event instead of sleep for periodicity control.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 7d30bb13be 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-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 7bababaab6 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-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 5b6fb7245a 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-11-25 23:18:38 +00:00
UbitUmarov ead78764ab allow drawdistance to change between 32 and MaxDrawDistance, configurable
value default to 256, so should have no effect. Next steps needed: reduce
 client udp Throttles with distance, update childreen connections with
 significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
2014-11-06 19:03:25 +00:00
UbitUmarov 31c036c044 refuse crossings if logins disabled
Please enter the commit message for your changes. Lines starting
2014-10-21 19:22:51 +01:00
UbitUmarov f44c29effb try to fix propagation of seeds to all relevante regions 2014-10-19 15:51:12 +01:00
UbitUmarov b7708b9d1f change child agents creation/notification. As before this assumes that
sending regions close out of view connections.
2014-10-18 18:27:38 +01:00
Justin Clark-Casey (justincc) afa85e6b3c 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-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc) 530b0cbbf1 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:23:52 +01:00
UbitUmarov c9079360b9 coment out stack trace at newUserConnection, add log msh at createAgent 2014-09-24 18:37:59 +01:00
UbitUmarov 46bf6d1640 add stack trace debug message 2014-09-24 18:29:23 +01:00
UbitUmarov 4206c1248f same thing on another lock(acd) 2014-09-24 01:51:36 +01:00
UbitUmarov d96fe6eaf5 replace a lock on a unkown origin object with a lock on a well defined
one.
2014-09-24 01:37:51 +01:00
Justin Clark-Casey (justincc) c015cb3134 Remove an unnecessary check at the bottom of Scene.CloseAgent()
At this point sp != null so no check required.
2014-09-24 00:50:24 +01:00
Melanie Thielker 309cfeff88 If an agent is logging in, rather than teleporting, make sure all known
circuits for that agent are closed.
2014-09-23 21:53:09 +02:00
Melanie Thielker 4cc552162e Merge branch 'ubitworkmaster' 2014-09-22 18:50:06 +02:00
Melanie Thielker 0bfba122f0 When a ghosted avatar is removed, also remove any remaining CAPS 2014-09-22 18:49:08 +02:00
UbitUmarov bcaf202e34 update scenegraph group find by part information in sog link, so script link functions do update that also. 2014-09-22 13:59:23 +01:00
BlueWall 519c753e46 This fixes the Scene thread renaming issue 2014-09-17 20:25:27 -04:00
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
Melanie Thielker 8ab5f2ce84 When CloseAgnt is called with an agent id that doesn't have a presence, check for stray clients and clean them up instead of failing. 2014-09-13 16:39:56 +02:00
Melanie Thielker 0caa59b286 Fix a nullref that can hit Vivox voice 2014-09-10 02:43:51 +02:00
UbitUmarov 17154fbffa set default LinksetPhysPrims to 0 so max number of prims for physical
object is disabled
2014-09-09 02:22:07 +01:00
UbitUmarov 8e15d4ad57 limit number of prims on physical objects. Not all cases covered still 2014-09-08 23:58:49 +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) ac866a1c46 Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all.
Defaults to true.  For test purposes.
2014-09-03 00:25:56 +01:00
Justin Clark-Casey (justincc) 1a3ffda852 minor: Eliminate more unnecessary code copying individual parameters for Vector3 copying in Scene - this is not necessary as Vector3 is a value type 2014-08-28 18:37:34 +01:00
Justin Clark-Casey (justincc) b1ff78f4d8 Don't allow update timer to invoke another scene update if the previous is still active. 2014-08-26 18:52:09 +01:00
Justin Clark-Casey (justincc) 42bb122232 Fix frame times when updating scene on timer. 2014-08-26 18:13:38 +01:00
Justin Clark-Casey (justincc) 64f640f901 Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
UbitUmarov 0295e6822d some cleanup ( well or not ) 2014-08-22 20:01:07 +01:00