aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-05-14 22:23:17 +0000
committerJustin Clarke Casey2008-05-14 22:23:17 +0000
commit1b90238f28424c2dd820f6b21aea25845d0c0156 (patch)
tree3ba410394e0b5cb21773b67e1c4101122cf651a7
parent* Refactor additional stats collection common code into base opensim server (diff)
downloadopensim-SC-1b90238f28424c2dd820f6b21aea25845d0c0156.zip
opensim-SC-1b90238f28424c2dd820f6b21aea25845d0c0156.tar.gz
opensim-SC-1b90238f28424c2dd820f6b21aea25845d0c0156.tar.bz2
opensim-SC-1b90238f28424c2dd820f6b21aea25845d0c0156.tar.xz
* 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...)
-rw-r--r--OpenSim/Framework/Statistics/SimExtraStatsCollector.cs24
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs6
-rw-r--r--prebuild.xml3
3 files changed, 30 insertions, 3 deletions
diff --git a/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs b/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs
index 2beb3a0..3716f9b 100644
--- a/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs
+++ b/OpenSim/Framework/Statistics/SimExtraStatsCollector.cs
@@ -43,12 +43,21 @@ namespace OpenSim.Framework.Statistics
43 private long assetCacheMemoryUsage; 43 private long assetCacheMemoryUsage;
44 private long textureCacheMemoryUsage; 44 private long textureCacheMemoryUsage;
45 45
46 private long inventoryServiceRetrievalFailures;
47
46 public long AssetsInCache { get { return assetsInCache; } } 48 public long AssetsInCache { get { return assetsInCache; } }
47 public long TexturesInCache { get { return texturesInCache; } } 49 public long TexturesInCache { get { return texturesInCache; } }
48 public long AssetCacheMemoryUsage { get { return assetCacheMemoryUsage; } } 50 public long AssetCacheMemoryUsage { get { return assetCacheMemoryUsage; } }
49 public long TextureCacheMemoryUsage { get { return textureCacheMemoryUsage; } } 51 public long TextureCacheMemoryUsage { get { return textureCacheMemoryUsage; } }
50 52
51 /// <summary> 53 /// <summary>
54 /// Number of known failures to retrieve avatar inventory from the inventory service. This does not
55 /// cover situations where the inventory service accepts the request but never returns any data, since
56 /// we do not yet timeout this situation.
57 /// </summary>
58 public long InventoryServiceRetrievalFailures { get { return inventoryServiceRetrievalFailures; } }
59
60 /// <summary>
52 /// Retain a dictionary of all packet queues stats reporters 61 /// Retain a dictionary of all packet queues stats reporters
53 /// </summary> 62 /// </summary>
54 private IDictionary<LLUUID, PacketQueueStatsCollector> packetQueueStatsCollectors 63 private IDictionary<LLUUID, PacketQueueStatsCollector> packetQueueStatsCollectors
@@ -70,6 +79,11 @@ namespace OpenSim.Framework.Statistics
70 } 79 }
71 } 80 }
72 81
82 public void AddInventoryServiceRetrievalFailure()
83 {
84 inventoryServiceRetrievalFailures++;
85 }
86
73 /// <summary> 87 /// <summary>
74 /// Register as a packet queue stats provider 88 /// Register as a packet queue stats provider
75 /// </summary> 89 /// </summary>
@@ -110,7 +124,15 @@ namespace OpenSim.Framework.Statistics
110Texture cache contains {2,6} textures using {3,10:0.000}K" + Environment.NewLine, 124Texture cache contains {2,6} textures using {3,10:0.000}K" + Environment.NewLine,
111 AssetsInCache, AssetCacheMemoryUsage / 1024.0, 125 AssetsInCache, AssetCacheMemoryUsage / 1024.0,
112 TexturesInCache, TextureCacheMemoryUsage / 1024.0)); 126 TexturesInCache, TextureCacheMemoryUsage / 1024.0));
113 127
128 sb.Append(Environment.NewLine);
129 sb.Append("INVENTORY STATISTICS");
130 sb.Append(Environment.NewLine);
131 sb.Append(
132 string.Format(
133 "Initial inventory caching failures: {0}" + Environment.NewLine,
134 InventoryServiceRetrievalFailures));
135
114 sb.Append(Environment.NewLine); 136 sb.Append(Environment.NewLine);
115 sb.Append("PACKET QUEUE STATISTICS"); 137 sb.Append("PACKET QUEUE STATISTICS");
116 sb.Append(Environment.NewLine); 138 sb.Append(Environment.NewLine);
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs
index f7037ea..0f75a09 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs
@@ -35,6 +35,7 @@ using OpenSim.Framework;
35using OpenSim.Framework.Communications; 35using OpenSim.Framework.Communications;
36using OpenSim.Framework.Communications.Cache; 36using OpenSim.Framework.Communications.Cache;
37using OpenSim.Framework.Servers; 37using OpenSim.Framework.Servers;
38using OpenSim.Framework.Statistics;
38 39
39namespace OpenSim.Region.Communications.OGS1 40namespace OpenSim.Region.Communications.OGS1
40{ 41{
@@ -79,8 +80,11 @@ namespace OpenSim.Region.Communications.OGS1
79 } 80 }
80 catch (WebException e) 81 catch (WebException e)
81 { 82 {
83 if (StatsManager.SimExtraStats != null)
84 StatsManager.SimExtraStats.AddInventoryServiceRetrievalFailure();
85
82 m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: Request inventory operation failed, {0} {1}", 86 m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: Request inventory operation failed, {0} {1}",
83 e.Source, e.Message); 87 e.Source, e.Message);
84 } 88 }
85 } 89 }
86 else 90 else
diff --git a/prebuild.xml b/prebuild.xml
index 65c3452..a00c547 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -722,9 +722,10 @@
722 <Reference name="System.Runtime.Remoting"/> 722 <Reference name="System.Runtime.Remoting"/>
723 <Reference name="OpenSim.Framework"/> 723 <Reference name="OpenSim.Framework"/>
724 <Reference name="OpenSim.Data" /> 724 <Reference name="OpenSim.Data" />
725 <Reference name="OpenSim.Framework.Communications" />
725 <Reference name="OpenSim.Framework.Console"/> 726 <Reference name="OpenSim.Framework.Console"/>
726 <Reference name="OpenSim.Framework.Servers"/> 727 <Reference name="OpenSim.Framework.Servers"/>
727 <Reference name="OpenSim.Framework.Communications" /> 728 <Reference name="OpenSim.Framework.Statistics"/>
728 <Reference name="OpenSim.Region.Communications.Local" /> 729 <Reference name="OpenSim.Region.Communications.Local" />
729 <Reference name="libsecondlife.dll"/> 730 <Reference name="libsecondlife.dll"/>
730 <Reference name="XMLRPC.dll"/> 731 <Reference name="XMLRPC.dll"/>