Comment out asset statistics section from periodic stats as these have not been recorded for a very long time.
Some might make a comeback in the future but others are of dubious usefuless for health check purposes, or the complexity of collection outweighs their usefulness. Some data is available via other means (e.g. "fcache status").iar_mods
parent
5e445aaf7b
commit
09baa3e679
|
@ -42,15 +42,15 @@ namespace OpenSim.Framework.Statistics
|
||||||
{
|
{
|
||||||
private long abnormalClientThreadTerminations;
|
private long abnormalClientThreadTerminations;
|
||||||
|
|
||||||
private long assetsInCache;
|
// private long assetsInCache;
|
||||||
private long texturesInCache;
|
// private long texturesInCache;
|
||||||
private long assetCacheMemoryUsage;
|
// private long assetCacheMemoryUsage;
|
||||||
private long textureCacheMemoryUsage;
|
// private long textureCacheMemoryUsage;
|
||||||
private TimeSpan assetRequestTimeAfterCacheMiss;
|
// private TimeSpan assetRequestTimeAfterCacheMiss;
|
||||||
private long blockedMissingTextureRequests;
|
// private long blockedMissingTextureRequests;
|
||||||
|
|
||||||
private long assetServiceRequestFailures;
|
// private long assetServiceRequestFailures;
|
||||||
private long inventoryServiceRetrievalFailures;
|
// private long inventoryServiceRetrievalFailures;
|
||||||
|
|
||||||
private volatile float timeDilation;
|
private volatile float timeDilation;
|
||||||
private volatile float simFps;
|
private volatile float simFps;
|
||||||
|
@ -79,27 +79,27 @@ namespace OpenSim.Framework.Statistics
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public long AbnormalClientThreadTerminations { get { return abnormalClientThreadTerminations; } }
|
public long AbnormalClientThreadTerminations { get { return abnormalClientThreadTerminations; } }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// These statistics are being collected by push rather than pull. Pull would be simpler, but I had the
|
// /// These statistics are being collected by push rather than pull. Pull would be simpler, but I had the
|
||||||
/// notion of providing some flow statistics (which pull wouldn't give us). Though admittedly these
|
// /// notion of providing some flow statistics (which pull wouldn't give us). Though admittedly these
|
||||||
/// haven't yet been implemented...
|
// /// haven't yet been implemented...
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
public long AssetsInCache { get { return assetsInCache; } }
|
// public long AssetsInCache { get { return assetsInCache; } }
|
||||||
|
//
|
||||||
/// <value>
|
// /// <value>
|
||||||
/// Currently unused
|
// /// Currently unused
|
||||||
/// </value>
|
// /// </value>
|
||||||
public long TexturesInCache { get { return texturesInCache; } }
|
// public long TexturesInCache { get { return texturesInCache; } }
|
||||||
|
//
|
||||||
/// <value>
|
// /// <value>
|
||||||
/// Currently misleading since we can't currently subtract removed asset memory usage without a performance hit
|
// /// Currently misleading since we can't currently subtract removed asset memory usage without a performance hit
|
||||||
/// </value>
|
// /// </value>
|
||||||
public long AssetCacheMemoryUsage { get { return assetCacheMemoryUsage; } }
|
// public long AssetCacheMemoryUsage { get { return assetCacheMemoryUsage; } }
|
||||||
|
//
|
||||||
/// <value>
|
// /// <value>
|
||||||
/// Currently unused
|
// /// Currently unused
|
||||||
/// </value>
|
// /// </value>
|
||||||
public long TextureCacheMemoryUsage { get { return textureCacheMemoryUsage; } }
|
// public long TextureCacheMemoryUsage { get { return textureCacheMemoryUsage; } }
|
||||||
|
|
||||||
public float TimeDilation { get { return timeDilation; } }
|
public float TimeDilation { get { return timeDilation; } }
|
||||||
public float SimFps { get { return simFps; } }
|
public float SimFps { get { return simFps; } }
|
||||||
|
@ -123,25 +123,25 @@ namespace OpenSim.Framework.Statistics
|
||||||
public float ActiveScripts { get { return activeScripts; } }
|
public float ActiveScripts { get { return activeScripts; } }
|
||||||
public float ScriptLinesPerSecond { get { return scriptLinesPerSecond; } }
|
public float ScriptLinesPerSecond { get { return scriptLinesPerSecond; } }
|
||||||
|
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// This is the time it took for the last asset request made in response to a cache miss.
|
// /// This is the time it took for the last asset request made in response to a cache miss.
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
public TimeSpan AssetRequestTimeAfterCacheMiss { get { return assetRequestTimeAfterCacheMiss; } }
|
// public TimeSpan AssetRequestTimeAfterCacheMiss { get { return assetRequestTimeAfterCacheMiss; } }
|
||||||
|
//
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// Number of persistent requests for missing textures we have started blocking from clients. To some extent
|
// /// Number of persistent requests for missing textures we have started blocking from clients. To some extent
|
||||||
/// this is just a temporary statistic to keep this problem in view - the root cause of this lies either
|
// /// this is just a temporary statistic to keep this problem in view - the root cause of this lies either
|
||||||
/// in a mishandling of the reply protocol, related to avatar appearance or may even originate in graphics
|
// /// in a mishandling of the reply protocol, related to avatar appearance or may even originate in graphics
|
||||||
/// driver bugs on clients (though this seems less likely).
|
// /// driver bugs on clients (though this seems less likely).
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
public long BlockedMissingTextureRequests { get { return blockedMissingTextureRequests; } }
|
// public long BlockedMissingTextureRequests { get { return blockedMissingTextureRequests; } }
|
||||||
|
//
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// Record the number of times that an asset request has failed. Failures are effectively exceptions, such as
|
// /// Record the number of times that an asset request has failed. Failures are effectively exceptions, such as
|
||||||
/// request timeouts. If an asset service replies that a particular asset cannot be found, this is not counted
|
// /// request timeouts. If an asset service replies that a particular asset cannot be found, this is not counted
|
||||||
/// as a failure
|
// /// as a failure
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
public long AssetServiceRequestFailures { get { return assetServiceRequestFailures; } }
|
// public long AssetServiceRequestFailures { get { return assetServiceRequestFailures; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Number of known failures to retrieve avatar inventory from the inventory service. This does not
|
/// Number of known failures to retrieve avatar inventory from the inventory service. This does not
|
||||||
|
@ -172,53 +172,53 @@ namespace OpenSim.Framework.Statistics
|
||||||
abnormalClientThreadTerminations++;
|
abnormalClientThreadTerminations++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddAsset(AssetBase asset)
|
// public void AddAsset(AssetBase asset)
|
||||||
{
|
// {
|
||||||
assetsInCache++;
|
// assetsInCache++;
|
||||||
//assetCacheMemoryUsage += asset.Data.Length;
|
// //assetCacheMemoryUsage += asset.Data.Length;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public void RemoveAsset(UUID uuid)
|
// public void RemoveAsset(UUID uuid)
|
||||||
{
|
// {
|
||||||
assetsInCache--;
|
// assetsInCache--;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public void AddTexture(AssetBase image)
|
// public void AddTexture(AssetBase image)
|
||||||
{
|
// {
|
||||||
if (image.Data != null)
|
// if (image.Data != null)
|
||||||
{
|
// {
|
||||||
texturesInCache++;
|
// texturesInCache++;
|
||||||
|
//
|
||||||
// This could have been a pull stat, though there was originally a nebulous idea to measure flow rates
|
// // This could have been a pull stat, though there was originally a nebulous idea to measure flow rates
|
||||||
textureCacheMemoryUsage += image.Data.Length;
|
// textureCacheMemoryUsage += image.Data.Length;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/// <summary>
|
// /// <summary>
|
||||||
/// Signal that the asset cache has been cleared.
|
// /// Signal that the asset cache has been cleared.
|
||||||
/// </summary>
|
// /// </summary>
|
||||||
public void ClearAssetCacheStatistics()
|
// public void ClearAssetCacheStatistics()
|
||||||
{
|
// {
|
||||||
assetsInCache = 0;
|
// assetsInCache = 0;
|
||||||
assetCacheMemoryUsage = 0;
|
// assetCacheMemoryUsage = 0;
|
||||||
texturesInCache = 0;
|
// texturesInCache = 0;
|
||||||
textureCacheMemoryUsage = 0;
|
// textureCacheMemoryUsage = 0;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public void AddAssetRequestTimeAfterCacheMiss(TimeSpan ts)
|
// public void AddAssetRequestTimeAfterCacheMiss(TimeSpan ts)
|
||||||
{
|
// {
|
||||||
assetRequestTimeAfterCacheMiss = ts;
|
// assetRequestTimeAfterCacheMiss = ts;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public void AddBlockedMissingTextureRequest()
|
// public void AddBlockedMissingTextureRequest()
|
||||||
{
|
// {
|
||||||
blockedMissingTextureRequests++;
|
// blockedMissingTextureRequests++;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
public void AddAssetServiceRequestFailure()
|
// public void AddAssetServiceRequestFailure()
|
||||||
{
|
// {
|
||||||
assetServiceRequestFailures++;
|
// assetServiceRequestFailures++;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// public void AddInventoryServiceRetrievalFailure()
|
// public void AddInventoryServiceRetrievalFailure()
|
||||||
// {
|
// {
|
||||||
|
@ -291,8 +291,8 @@ namespace OpenSim.Framework.Statistics
|
||||||
public override string Report()
|
public override string Report()
|
||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder(Environment.NewLine);
|
StringBuilder sb = new StringBuilder(Environment.NewLine);
|
||||||
sb.Append("ASSET STATISTICS");
|
// sb.Append("ASSET STATISTICS");
|
||||||
sb.Append(Environment.NewLine);
|
// sb.Append(Environment.NewLine);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
sb.Append(
|
sb.Append(
|
||||||
|
@ -309,6 +309,7 @@ Asset service request failures: {6}"+ Environment.NewLine,
|
||||||
AssetServiceRequestFailures));
|
AssetServiceRequestFailures));
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
sb.Append(
|
sb.Append(
|
||||||
string.Format(
|
string.Format(
|
||||||
@"Asset cache contains {0,6} assets
|
@"Asset cache contains {0,6} assets
|
||||||
|
@ -319,7 +320,7 @@ Asset service request failures: {3}" + Environment.NewLine,
|
||||||
assetRequestTimeAfterCacheMiss.Milliseconds / 1000.0,
|
assetRequestTimeAfterCacheMiss.Milliseconds / 1000.0,
|
||||||
BlockedMissingTextureRequests,
|
BlockedMissingTextureRequests,
|
||||||
AssetServiceRequestFailures));
|
AssetServiceRequestFailures));
|
||||||
|
*/
|
||||||
|
|
||||||
sb.Append(Environment.NewLine);
|
sb.Append(Environment.NewLine);
|
||||||
sb.Append("CONNECTION STATISTICS");
|
sb.Append("CONNECTION STATISTICS");
|
||||||
|
@ -391,15 +392,15 @@ Asset service request failures: {3}" + Environment.NewLine,
|
||||||
public override string XReport(string uptime, string version)
|
public override string XReport(string uptime, string version)
|
||||||
{
|
{
|
||||||
OSDMap args = new OSDMap(30);
|
OSDMap args = new OSDMap(30);
|
||||||
args["AssetsInCache"] = OSD.FromString (String.Format ("{0:0.##}", AssetsInCache));
|
// args["AssetsInCache"] = OSD.FromString (String.Format ("{0:0.##}", AssetsInCache));
|
||||||
args["TimeAfterCacheMiss"] = OSD.FromString (String.Format ("{0:0.##}",
|
// args["TimeAfterCacheMiss"] = OSD.FromString (String.Format ("{0:0.##}",
|
||||||
assetRequestTimeAfterCacheMiss.Milliseconds / 1000.0));
|
// assetRequestTimeAfterCacheMiss.Milliseconds / 1000.0));
|
||||||
args["BlockedMissingTextureRequests"] = OSD.FromString (String.Format ("{0:0.##}",
|
// args["BlockedMissingTextureRequests"] = OSD.FromString (String.Format ("{0:0.##}",
|
||||||
BlockedMissingTextureRequests));
|
// BlockedMissingTextureRequests));
|
||||||
args["AssetServiceRequestFailures"] = OSD.FromString (String.Format ("{0:0.##}",
|
// args["AssetServiceRequestFailures"] = OSD.FromString (String.Format ("{0:0.##}",
|
||||||
AssetServiceRequestFailures));
|
// AssetServiceRequestFailures));
|
||||||
args["abnormalClientThreadTerminations"] = OSD.FromString (String.Format ("{0:0.##}",
|
// args["abnormalClientThreadTerminations"] = OSD.FromString (String.Format ("{0:0.##}",
|
||||||
abnormalClientThreadTerminations));
|
// abnormalClientThreadTerminations));
|
||||||
// args["InventoryServiceRetrievalFailures"] = OSD.FromString (String.Format ("{0:0.##}",
|
// args["InventoryServiceRetrievalFailures"] = OSD.FromString (String.Format ("{0:0.##}",
|
||||||
// InventoryServiceRetrievalFailures));
|
// InventoryServiceRetrievalFailures));
|
||||||
args["Dilatn"] = OSD.FromString (String.Format ("{0:0.##}", timeDilation));
|
args["Dilatn"] = OSD.FromString (String.Format ("{0:0.##}", timeDilation));
|
||||||
|
|
Loading…
Reference in New Issue