* Start recording initial complete avatar inventory retrieval failures from the region server

* In theory, this should be a somewhat useless statistic since the user server will already have tried to use the inventory service to retrieve the avatar's skeleton.  If this 
fails, login is halted completely.
* Nonetheless I'm recording it anyway just to see whether it happens (yes, I'm too lazy to scan the logs...)
0.6.0-stable
Justin Clarke Casey 2008-05-14 22:23:17 +00:00
parent 0f50162961
commit 1b90238f28
3 changed files with 30 additions and 3 deletions

View File

@ -43,11 +43,20 @@ namespace OpenSim.Framework.Statistics
private long assetCacheMemoryUsage;
private long textureCacheMemoryUsage;
private long inventoryServiceRetrievalFailures;
public long AssetsInCache { get { return assetsInCache; } }
public long TexturesInCache { get { return texturesInCache; } }
public long AssetCacheMemoryUsage { get { return assetCacheMemoryUsage; } }
public long TextureCacheMemoryUsage { get { return textureCacheMemoryUsage; } }
/// <summary>
/// Number of known failures to retrieve avatar inventory from the inventory service. This does not
/// cover situations where the inventory service accepts the request but never returns any data, since
/// we do not yet timeout this situation.
/// </summary>
public long InventoryServiceRetrievalFailures { get { return inventoryServiceRetrievalFailures; } }
/// <summary>
/// Retain a dictionary of all packet queues stats reporters
/// </summary>
@ -70,6 +79,11 @@ namespace OpenSim.Framework.Statistics
}
}
public void AddInventoryServiceRetrievalFailure()
{
inventoryServiceRetrievalFailures++;
}
/// <summary>
/// Register as a packet queue stats provider
/// </summary>
@ -111,6 +125,14 @@ Texture cache contains {2,6} textures using {3,10:0.000}K" + Environment.NewLine
AssetsInCache, AssetCacheMemoryUsage / 1024.0,
TexturesInCache, TextureCacheMemoryUsage / 1024.0));
sb.Append(Environment.NewLine);
sb.Append("INVENTORY STATISTICS");
sb.Append(Environment.NewLine);
sb.Append(
string.Format(
"Initial inventory caching failures: {0}" + Environment.NewLine,
InventoryServiceRetrievalFailures));
sb.Append(Environment.NewLine);
sb.Append("PACKET QUEUE STATISTICS");
sb.Append(Environment.NewLine);

View File

@ -35,6 +35,7 @@ using OpenSim.Framework;
using OpenSim.Framework.Communications;
using OpenSim.Framework.Communications.Cache;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Statistics;
namespace OpenSim.Region.Communications.OGS1
{
@ -79,6 +80,9 @@ namespace OpenSim.Region.Communications.OGS1
}
catch (WebException e)
{
if (StatsManager.SimExtraStats != null)
StatsManager.SimExtraStats.AddInventoryServiceRetrievalFailure();
m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: Request inventory operation failed, {0} {1}",
e.Source, e.Message);
}

View File

@ -722,9 +722,10 @@
<Reference name="System.Runtime.Remoting"/>
<Reference name="OpenSim.Framework"/>
<Reference name="OpenSim.Data" />
<Reference name="OpenSim.Framework.Communications" />
<Reference name="OpenSim.Framework.Console"/>
<Reference name="OpenSim.Framework.Servers"/>
<Reference name="OpenSim.Framework.Communications" />
<Reference name="OpenSim.Framework.Statistics"/>
<Reference name="OpenSim.Region.Communications.Local" />
<Reference name="libsecondlife.dll"/>
<Reference name="XMLRPC.dll"/>