Improve health reporting
parent
e913e1690e
commit
b940925173
|
@ -2632,8 +2632,12 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
else throw new Exception("neither region_name nor region_uuid given");
|
else throw new Exception("neither region_name nor region_uuid given");
|
||||||
|
|
||||||
Scene scene = m_application.SceneManager.CurrentScene;
|
Scene scene = m_application.SceneManager.CurrentScene;
|
||||||
int health = scene.GetHealth();
|
int flags;
|
||||||
|
string text;
|
||||||
|
int health = scene.GetHealth(out flags, out text);
|
||||||
responseData["health"] = health;
|
responseData["health"] = health;
|
||||||
|
responseData["flags"] = health;
|
||||||
|
responseData["message"] = health;
|
||||||
|
|
||||||
response.Value = responseData;
|
response.Value = responseData;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4548,7 +4548,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
SimulationDataService.RemoveObject(uuid, m_regInfo.RegionID);
|
SimulationDataService.RemoveObject(uuid, m_regInfo.RegionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int GetHealth()
|
public int GetHealth(out int flags, out string message)
|
||||||
{
|
{
|
||||||
// Returns:
|
// Returns:
|
||||||
// 1 = sim is up and accepting http requests. The heartbeat has
|
// 1 = sim is up and accepting http requests. The heartbeat has
|
||||||
|
@ -4567,6 +4567,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// 5 = We have seen a new user enter within the past 4 minutes
|
// 5 = We have seen a new user enter within the past 4 minutes
|
||||||
// which can be seen as positive confirmation of sim health
|
// which can be seen as positive confirmation of sim health
|
||||||
//
|
//
|
||||||
|
|
||||||
|
flags = 0;
|
||||||
|
message = String.Empty;
|
||||||
|
|
||||||
|
CheckHeartbeat();
|
||||||
|
|
||||||
if (m_firstHeartbeat || (m_lastIncoming == 0 && m_lastOutgoing == 0))
|
if (m_firstHeartbeat || (m_lastIncoming == 0 && m_lastOutgoing == 0))
|
||||||
{
|
{
|
||||||
// We're still starting
|
// We're still starting
|
||||||
|
@ -4578,28 +4584,30 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
int health=1; // Start at 1, means we're up
|
int health=1; // Start at 1, means we're up
|
||||||
|
|
||||||
if (Util.EnvironmentTickCountSubtract(m_lastUpdate) < 1000)
|
if (Util.EnvironmentTickCountSubtract(m_lastUpdate) < 1000)
|
||||||
|
{
|
||||||
health+=1;
|
health+=1;
|
||||||
else
|
flags |= 1;
|
||||||
return health;
|
}
|
||||||
|
|
||||||
if (Util.EnvironmentTickCountSubtract(m_lastIncoming) < 1000)
|
if (Util.EnvironmentTickCountSubtract(m_lastIncoming) < 1000)
|
||||||
|
{
|
||||||
health+=1;
|
health+=1;
|
||||||
else
|
flags |= 2;
|
||||||
return health;
|
}
|
||||||
|
|
||||||
if (Util.EnvironmentTickCountSubtract(m_lastOutgoing) < 1000)
|
if (Util.EnvironmentTickCountSubtract(m_lastOutgoing) < 1000)
|
||||||
|
{
|
||||||
health+=1;
|
health+=1;
|
||||||
else
|
flags |= 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (flags != 7)
|
||||||
return health;
|
return health;
|
||||||
|
|
||||||
// A login in the last 4 mins? We can't be doing too badly
|
// A login in the last 4 mins? We can't be doing too badly
|
||||||
//
|
//
|
||||||
if (Util.EnvironmentTickCountSubtract(m_LastLogin) < 240000)
|
if (Util.EnvironmentTickCountSubtract(m_LastLogin) < 240000)
|
||||||
health++;
|
health++;
|
||||||
else
|
|
||||||
return health;
|
|
||||||
|
|
||||||
CheckHeartbeat();
|
|
||||||
|
|
||||||
return health;
|
return health;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue