* Implements OSSL function: osGetSimulatorMemory - returns the current amount of memory allocated to the simulator process (Moderate Threat Level).

* Cleans redundant information out of the Simulator Version. Versions now look like:
"OpenSimulator 0.6.9(dev) Unix/Mono"
* [Minor] additional log info for MySQLInventoryData
mysql-performance
Adam Frisby 2009-12-13 03:04:16 +11:00
parent 0639e90f56
commit 963cf25813
7 changed files with 226 additions and 173 deletions

View File

@ -1,173 +1,173 @@
The following people have contributed to OpenSim (Thank you The following people have contributed to OpenSim (Thank you
for your effort!) for your effort!)
Add your name in here if you have committed to OpenSim Add your name in here if you have committed to OpenSim
= Current OpenSim Developers (in very rough order of appearance) = = Current OpenSim Developers (in very rough order of appearance) =
These folks represent the current core team for OpenSim, and are the These folks represent the current core team for OpenSim, and are the
people that make the day to day of OpenSim happen. people that make the day to day of OpenSim happen.
* MW (Tribal Media AB) * MW (Tribal Media AB)
* Adam Frisby (DeepThink Pty Ltd) * Adam Frisby (DeepThink Pty Ltd)
* MingChen (DeepThink Pty Ltd) * MingChen (DeepThink Pty Ltd)
* lbsa71 (Tribal Media AB) * lbsa71 (Tribal Media AB)
* Sean Dague / sdague (IBM) * Sean Dague / sdague (IBM)
* Tedd * Tedd
* justincc * justincc
* Teravus (w3z) * Teravus (w3z)
* Johan Berntsson (3Di) * Johan Berntsson (3Di)
* Ckrinke (Charles Krinke) * Ckrinke (Charles Krinke)
* chi11ken (Genkii) * chi11ken (Genkii)
* adjohn (Genkii) * adjohn (Genkii)
* Dr Scofield aka Dirk Husemann (IBM Research - Zurich) * Dr Scofield aka Dirk Husemann (IBM Research - Zurich)
* dahlia * dahlia
* mikem (3Di) * mikem (3Di)
* Melanie Thielker * Melanie Thielker
* Homer_Horwitz * Homer_Horwitz
* idb (Ian Brown) * idb (Ian Brown)
* Diva (Crista Lopes, University of California, Irvine) * Diva (Crista Lopes, University of California, Irvine)
* nlin (3Di) * nlin (3Di)
* Arthur Rodrigo S Valadares (IBM) * Arthur Rodrigo S Valadares (IBM)
= Past Open Sim Developers = = Past Open Sim Developers =
These folks are alumns of the OpenSim core group, but are now These folks are alumns of the OpenSim core group, but are now
currently not active. Their great contributions helped get us to currently not active. Their great contributions helped get us to
where we are today. where we are today.
* Gareth * Gareth
* Andy- * Andy-
* MorphW * MorphW
* CW * CW
* Babblefrog * Babblefrog
* Danx0r * Danx0r
* Dalien * Dalien
* Darok * Darok
* Alondria * Alondria
= Additional OpenSim Contributors = = Additional OpenSim Contributors =
These folks have contributed code patches to OpenSim to help make it These folks have contributed code patches to OpenSim to help make it
what it is today. what it is today.
* aduffy70 * aduffy70
* A_Biondi * A_Biondi
* alex_carnell * alex_carnell
* Alan Webb (IBM) * Alan Webb (IBM)
* BigFootAg * BigFootAg
* BlueWall Slade * BlueWall Slade
* brianw/Sir_Ahzz * brianw/Sir_Ahzz
* CharlieO * CharlieO
* ChrisDown * ChrisDown
* Chris Yeoh (IBM) * Chris Yeoh (IBM)
* coyled * coyled
* Daedius * Daedius
* Dong Jun Lan (IBM) * Dong Jun Lan (IBM)
* DoranZemlja * DoranZemlja
* daTwitch * daTwitch
* devalnor-#708 * devalnor-#708
* dmiles (Daxtron Labs) * dmiles (Daxtron Labs)
* dslake (Intel) * dslake (Intel)
* FredoChaplin * FredoChaplin
* Gerhard * Gerhard
* Godfrey * Godfrey
* Grumly57 * Grumly57
* Ewe Loon * Ewe Loon
* Fly-Man * Fly-Man
* Flyte Xevious * Flyte Xevious
* Imaze Rhiano * Imaze Rhiano
* Intimidated * Intimidated
* Jeremy Bongio (IBM) * Jeremy Bongio (IBM)
* jhurliman * jhurliman
* John R Sohn (XenReborn) * John R Sohn (XenReborn)
* jonc * jonc
* Junta Kohime * Junta Kohime
* Kayne * Kayne
* Kevin Cozens * Kevin Cozens
* kinoc (Daxtron Labs) * kinoc (Daxtron Labs)
* Kitto Flora * Kitto Flora
* KittyLiu * KittyLiu
* Kurt Taylor (IBM) * Kurt Taylor (IBM)
* lulurun * lulurun
* M.Igarashi * M.Igarashi
* maimedleech * maimedleech
* Mic Bowman * Mic Bowman
* Michelle Argus * Michelle Argus
* Michael Cortez (The Flotsam Project, http://osflotsam.org/) * Michael Cortez (The Flotsam Project, http://osflotsam.org/)
* Mike Osias (IBM) * Mike Osias (IBM)
* Mike Pitman (IBM) * Mike Pitman (IBM)
* mikkopa/_someone - RealXtend * mikkopa/_someone - RealXtend
* Misterblue (Intel) * Misterblue (Intel)
* Mircea Kitsune * Mircea Kitsune
* mpallari * mpallari
* nornalbion * nornalbion
* Omar Vera Ustariz (IBM) * Omar Vera Ustariz (IBM)
* openlifegrid.com * openlifegrid.com
* otakup0pe * otakup0pe
* ralphos * ralphos
* RemedyTomm * RemedyTomm
* Revolution * Revolution
* Richard Alimi (IBM) * Richard Alimi (IBM)
* Rick Alther (IBM) * Rick Alther (IBM)
* Rob Smart (IBM) * Rob Smart (IBM)
* rtomita * rtomita
* Ruud Lathorp * Ruud Lathorp
* SachaMagne * SachaMagne
* Salahzar Stenvaag * Salahzar Stenvaag
* sempuki * sempuki
* Snoopy * Snoopy
* Strawberry Fride * Strawberry Fride
* tglion * tglion
* tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud) * tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud)
* tyre * tyre
* Vytek * Vytek
* webmage (IBM) * webmage (IBM)
* Xantor * Xantor
* Y. Nitta * Y. Nitta
* YZh * YZh
* Zackary Geers aka Kunnis Basiat * Zackary Geers aka Kunnis Basiat
* Zha Ewry * Zha Ewry
= LSL Devs = = LSL Devs =
* Alondria * Alondria
* CharlieO * CharlieO
* Tedd * Tedd
* Melanie Thielker * Melanie Thielker
= Testers = = Testers =
* Ai Austin * Ai Austin
* CharlieO (LSL) * CharlieO (LSL)
* Ckrinke * Ckrinke
* openlifegrid.com * openlifegrid.com
This software uses components from the following developers: This software uses components from the following developers:
* Sleepycat Software (Berkeley DB) * Sleepycat Software (Berkeley DB)
* SQLite (Public Domain) * SQLite (Public Domain)
* XmlRpcCS (http://xmlrpccs.sf.net/) * XmlRpcCS (http://xmlrpccs.sf.net/)
* MySQL, Inc. (MySQL Connector/NET) * MySQL, Inc. (MySQL Connector/NET)
* NUnit (http://www.nunit.org) * NUnit (http://www.nunit.org)
* AGEIA Inc. (PhysX) * AGEIA Inc. (PhysX)
* Russel L. Smith (ODE) * Russel L. Smith (ODE)
* Prebuild (http://sourceforge.net/projects/dnpb/) * Prebuild (http://sourceforge.net/projects/dnpb/)
* LibOpenMetaverse (http://lib.openmetaverse.org/) * LibOpenMetaverse (http://lib.openmetaverse.org/)
* DotNetOpenMail v0.5.8b (http://dotnetopenmail.sourceforge.net) * DotNetOpenMail v0.5.8b (http://dotnetopenmail.sourceforge.net)
* Prototype JavaScript Framework ajax (http://www.prototypejs.org/) * Prototype JavaScript Framework ajax (http://www.prototypejs.org/)
* C5 GENERIC COLLECTION LIBRARY FOR C#/CLI * C5 GENERIC COLLECTION LIBRARY FOR C#/CLI
* Nini (http://nini.sourceforge.net/) * Nini (http://nini.sourceforge.net/)
* log4net (http://logging.apache.org/log4net/) * log4net (http://logging.apache.org/log4net/)
* GlynnTucker.Cache (http://gtcache.sourceforge.net/) * GlynnTucker.Cache (http://gtcache.sourceforge.net/)
* NDesk.Options 0.2.1 (http://www.ndesk.org/Options) * NDesk.Options 0.2.1 (http://www.ndesk.org/Options)
Some plugins are based on Cable Beach Some plugins are based on Cable Beach
Cable Beach is Copyright (c) 2008 Intel Corporation Cable Beach is Copyright (c) 2008 Intel Corporation
see http://forge.opensimulator.org/gf/project/assetserver/ see http://forge.opensimulator.org/gf/project/assetserver/
In addition, we would like to thank: In addition, we would like to thank:
* The Mono Project * The Mono Project
* The NANT Developers * The NANT Developers
* Microsoft (.NET, MSSQL-Adapters) * Microsoft (.NET, MSSQL-Adapters)

View File

@ -91,6 +91,9 @@ namespace OpenSim.Data.MySQL
rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true"; rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true";
opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true"; opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true";
if(rollbackStore)
m_log.Warn("[MysqlInventory] Enabling rollback mode in: " + rollbackDir);
database = database =
new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling,
settingPort); settingPort);

View File

@ -1007,6 +1007,26 @@ namespace OpenSim.Framework
return os; return os;
} }
public static string GetRuntimeInformation()
{
string ru = String.Empty;
if (Environment.OSVersion.Platform == PlatformID.Unix)
ru = "Unix/Mono";
else
if (Environment.OSVersion.Platform == PlatformID.MacOSX)
ru = "OSX/Mono";
else
{
if (Type.GetType("Mono.Runtime") != null)
ru = "Win/Mono";
else
ru = "Win/.NET";
}
return ru;
}
/// <summary> /// <summary>
/// Is the given string a UUID? /// Is the given string a UUID?
/// </summary> /// </summary>

View File

@ -574,10 +574,15 @@ namespace OpenSim.Region.Framework.Scenes
StatsReporter.SetObjectCapacity(objectCapacity); StatsReporter.SetObjectCapacity(objectCapacity);
// Old
/*
m_simulatorVersion = simulatorVersion m_simulatorVersion = simulatorVersion
+ " (OS " + Util.GetOperatingSystemInformation() + ")" + " (OS " + Util.GetOperatingSystemInformation() + ")"
+ " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString() + " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString()
+ " PhysPrim:" + m_physicalPrim.ToString(); + " PhysPrim:" + m_physicalPrim.ToString();
*/
m_simulatorVersion = simulatorVersion + " (" + Util.GetRuntimeInformation() + ")";
try try
{ {

View File

@ -1970,5 +1970,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return ret; return ret;
} }
public int osGetSimulatorMemory()
{
CheckThreatLevel(ThreatLevel.Moderate, "osGetRegionStats");
m_host.AddScriptLPS(1);
long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
if (pws > Int32.MaxValue)
return Int32.MaxValue;
if (pws < 0)
return 0;
return (int)pws;
}
} }
} }

View File

@ -163,5 +163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
key osGetMapTexture(); key osGetMapTexture();
key osGetRegionMapTexture(string regionName); key osGetRegionMapTexture(string regionName);
LSL_List osGetRegionStats(); LSL_List osGetRegionStats();
int osGetSimulatorMemory();
} }
} }

View File

@ -637,5 +637,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
{ {
return m_OSSL_Functions.osGetRegionStats(); return m_OSSL_Functions.osGetRegionStats();
} }
/// <summary>
/// Returns the amount of memory in use by the Simulator Daemon.
/// Amount in bytes - if >= 4GB, returns 4GB. (LSL is not 64-bit aware)
/// </summary>
/// <returns></returns>
public LSL_Integer osGetSimulatorMemory()
{
return m_OSSL_Functions.osGetSimulatorMemory();
}
} }
} }