From 26a8c5e7127967625c31b3f77266ace1f786165c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 18 Mar 2025 22:48:04 +0000 Subject: [PATCH] fix grid stats configuraton check --- .../Server/Handlers/Grid/GridInfoHandlers.cs | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs index 7ed234e08e..716c8333ab 100644 --- a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs +++ b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs @@ -83,25 +83,26 @@ namespace OpenSim.Server.Handlers.Grid if (stats_available) { + stats_available = false; IConfig dbConfig = configSource.Configs["DatabaseService"]; if (dbConfig is not null) { ServiceBase serviceBase = new(configSource); - - string dllName = dbConfig.GetString("StorageProvider", String.Empty); string connString = dbConfig.GetString("ConnectionString", String.Empty); if (dllName.Length != 0 && connString.Length != 0) { m_Database_regions = serviceBase.LoadPlugin(dllName, [connString, "regions"]); - m_Database_griduser = serviceBase.LoadPlugin(dllName, [connString, "GridUser"]); - } - - if (m_Database_griduser != null && m_Database_regions != null) - { - stats_available = true; - _log.Debug("[GRID INFO SERVICE]: Grid Stats enabled"); + if(m_Database_regions != null) + { + m_Database_griduser = serviceBase.LoadPlugin(dllName, [connString, "GridUser"]); + if (m_Database_griduser != null) + { + stats_available = true; + _log.Debug("[GRID INFO SERVICE]: Grid Stats enabled"); + } + } } } if (!stats_available) @@ -151,8 +152,7 @@ namespace OpenSim.Server.Handlers.Grid _info["homealias"] = OSD.FromString(tmp); _info.TryGetValue("gatekeeper", out tmp); - tmp = Util.GetConfigVarFromSections(m_Config, "GatekeeperURI", - new string[] { "Startup", "Hypergrid" }, tmp); + tmp = Util.GetConfigVarFromSections(m_Config, "GatekeeperURI", ["Startup", "Hypergrid"], tmp); if (!string.IsNullOrEmpty(tmp)) _info["gatekeeper"] = OSD.FromString(tmp); @@ -174,9 +174,9 @@ namespace OpenSim.Server.Handlers.Grid _log.Warn("[GRID INFO SERVICE]: found no [GridInfoService] section in your configuration files"); _log.Warn("[GRID INFO SERVICE]: trying to guess sensible defaults, you might want to provide better ones:"); - foreach (string k in _info.Keys) + foreach (KeyValuePair k in _info) { - _log.WarnFormat("[GRID INFO SERVICE]: {0}: {1}", k, _info[k]); + _log.Warn($"[GRID INFO SERVICE]: {k.Key}: {k.Value}"); } } @@ -277,7 +277,7 @@ namespace OpenSim.Server.Handlers.Grid foreach (RegionData region in regions) { // Count individual region equivalent - region_count += (region.sizeX / 256) * (region.sizeY / 256); + region_count += (region.sizeX * region.sizeY) >> 16; } regions = null; @@ -291,8 +291,8 @@ namespace OpenSim.Server.Handlers.Grid if (!griduser.UserID.Contains(';')) residents++; - griduser.Data.TryGetValue("Login", out string login); - if (int.TryParse(login, out int last_login)) + if(griduser.Data.TryGetValue("Login", out string login) && + int.TryParse(login, out int last_login)) { if (last_login == 0) continue; @@ -305,7 +305,7 @@ namespace OpenSim.Server.Handlers.Grid } catch (Exception ex) { - _log.ErrorFormat("[GRID INFO SERVICE]: Could not fetch grid stats: {0}", ex.Message); + _log.Error($"[GRID INFO SERVICE]: Could not fetch grid stats: {ex.Message}"); } _stats["residents"] = residents.ToString();