diff options
author | Justin Clarke Casey | 2008-05-14 22:23:17 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-05-14 22:23:17 +0000 |
commit | 1b90238f28424c2dd820f6b21aea25845d0c0156 (patch) | |
tree | 3ba410394e0b5cb21773b67e1c4101122cf651a7 | |
parent | * Refactor additional stats collection common code into base opensim server (diff) | |
download | opensim-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.cs | 24 | ||||
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs | 6 | ||||
-rw-r--r-- | prebuild.xml | 3 |
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 | |||
110 | Texture cache contains {2,6} textures using {3,10:0.000}K" + Environment.NewLine, | 124 | Texture 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; | |||
35 | using OpenSim.Framework.Communications; | 35 | using OpenSim.Framework.Communications; |
36 | using OpenSim.Framework.Communications.Cache; | 36 | using OpenSim.Framework.Communications.Cache; |
37 | using OpenSim.Framework.Servers; | 37 | using OpenSim.Framework.Servers; |
38 | using OpenSim.Framework.Statistics; | ||
38 | 39 | ||
39 | namespace OpenSim.Region.Communications.OGS1 | 40 | namespace 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"/> |