diff options
author | Justin Clark-Casey (justincc) | 2014-11-04 00:55:48 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-11-25 23:23:10 +0000 |
commit | ec8d21c434a39f46518ee9cf9f5539d1790eacc0 (patch) | |
tree | 2aa340fb34c6f6e8e8f2e31c2034b5841307a7bf /OpenSim/Region/CoreModules | |
parent | Add "show threadpool calls" command to show count of all labelled smartthread... (diff) | |
download | opensim-SC-ec8d21c434a39f46518ee9cf9f5539d1790eacc0.zip opensim-SC-ec8d21c434a39f46518ee9cf9f5539d1790eacc0.tar.gz opensim-SC-ec8d21c434a39f46518ee9cf9f5539d1790eacc0.tar.bz2 opensim-SC-ec8d21c434a39f46518ee9cf9f5539d1790eacc0.tar.xz |
Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
Diffstat (limited to 'OpenSim/Region/CoreModules')
11 files changed, 19 insertions, 15 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs b/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs index 5cdcab9..47dcbcd 100644 --- a/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs +++ b/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs | |||
@@ -167,7 +167,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender | |||
167 | 167 | ||
168 | // Do Decode! | 168 | // Do Decode! |
169 | if (decode) | 169 | if (decode) |
170 | Util.FireAndForget(delegate { Decode(assetID, j2kData); }); | 170 | Util.FireAndForget(delegate { Decode(assetID, j2kData); }, null, "J2KDecoderModule.BeginDecode"); |
171 | } | 171 | } |
172 | } | 172 | } |
173 | 173 | ||
diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index 9d6870f..5eca025 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs | |||
@@ -302,7 +302,7 @@ namespace OpenSim.Region.CoreModules.Asset | |||
302 | } | 302 | } |
303 | 303 | ||
304 | Util.FireAndForget( | 304 | Util.FireAndForget( |
305 | delegate { WriteFileCache(filename, asset); }); | 305 | delegate { WriteFileCache(filename, asset); }, null, "FlotsamAssetCache.UpdateFileCache"); |
306 | } | 306 | } |
307 | } | 307 | } |
308 | catch (Exception e) | 308 | catch (Exception e) |
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index d8c159f..ea7481d 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -593,7 +593,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
593 | 593 | ||
594 | if (sendTime < now) | 594 | if (sendTime < now) |
595 | { | 595 | { |
596 | Util.FireAndForget(o => SendAppearance(avatarID)); | 596 | Util.FireAndForget(o => SendAppearance(avatarID), null, "AvatarFactoryModule.SendAppearance"); |
597 | m_sendqueue.Remove(avatarID); | 597 | m_sendqueue.Remove(avatarID); |
598 | } | 598 | } |
599 | } | 599 | } |
@@ -611,7 +611,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
611 | 611 | ||
612 | if (sendTime < now) | 612 | if (sendTime < now) |
613 | { | 613 | { |
614 | Util.FireAndForget(o => SaveAppearance(avatarID)); | 614 | Util.FireAndForget(o => SaveAppearance(avatarID), null, "AvatarFactoryModule.SaveAppearance"); |
615 | m_savequeue.Remove(avatarID); | 615 | m_savequeue.Remove(avatarID); |
616 | } | 616 | } |
617 | } | 617 | } |
@@ -1038,7 +1038,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
1038 | client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++); | 1038 | client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++); |
1039 | else | 1039 | else |
1040 | m_log.WarnFormat("[AVFACTORY]: Client_OnRequestWearables unable to find presence for {0}", client.AgentId); | 1040 | m_log.WarnFormat("[AVFACTORY]: Client_OnRequestWearables unable to find presence for {0}", client.AgentId); |
1041 | }); | 1041 | }, null, "AvatarFactoryModule.OnClientRequestWearables"); |
1042 | } | 1042 | } |
1043 | 1043 | ||
1044 | /// <summary> | 1044 | /// <summary> |
diff --git a/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs b/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs index 5725d67..5e35135 100644 --- a/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs | |||
@@ -187,7 +187,7 @@ namespace OpenSim.Region.CoreModules.Avatar.BakedTextures | |||
187 | { | 187 | { |
188 | rc.Request(reqStream, m_Auth); | 188 | rc.Request(reqStream, m_Auth); |
189 | m_log.DebugFormat("[XBakes]: stored {0} textures for user {1}", data.Length, agentId); | 189 | m_log.DebugFormat("[XBakes]: stored {0} textures for user {1}", data.Length, agentId); |
190 | } | 190 | }, null, "XBakesModule.Store" |
191 | ); | 191 | ); |
192 | } | 192 | } |
193 | } | 193 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 31bcded..7ab568e 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -511,7 +511,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
511 | 511 | ||
512 | // Notify about this user status | 512 | // Notify about this user status |
513 | StatusNotify(friendList, agentID, online); | 513 | StatusNotify(friendList, agentID, online); |
514 | } | 514 | }, null, "FriendsModule.StatusChange" |
515 | ); | 515 | ); |
516 | } | 516 | } |
517 | } | 517 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs index be12935..27b7376 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs | |||
@@ -660,7 +660,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
660 | FriendsService.Delete(friendUUI, agentID.ToString()); | 660 | FriendsService.Delete(friendUUI, agentID.ToString()); |
661 | 661 | ||
662 | // notify the exfriend's service | 662 | // notify the exfriend's service |
663 | Util.FireAndForget(delegate { Delete(exfriendID, agentID, friendUUI); }); | 663 | Util.FireAndForget( |
664 | delegate { Delete(exfriendID, agentID, friendUUI); }, null, "HGFriendsModule.DeleteFriendshipForeignFriend"); | ||
664 | 665 | ||
665 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentID, friendUUI); | 666 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentID, friendUUI); |
666 | return true; | 667 | return true; |
@@ -678,7 +679,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
678 | FriendsService.Delete(agentUUI, exfriendID.ToString()); | 679 | FriendsService.Delete(agentUUI, exfriendID.ToString()); |
679 | 680 | ||
680 | // notify the agent's service? | 681 | // notify the agent's service? |
681 | Util.FireAndForget(delegate { Delete(agentID, exfriendID, agentUUI); }); | 682 | Util.FireAndForget( |
683 | delegate { Delete(agentID, exfriendID, agentUUI); }, null, "HGFriendsModule.DeleteFriendshipLocalFriend"); | ||
682 | 684 | ||
683 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentUUI, exfriendID); | 685 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentUUI, exfriendID); |
684 | return true; | 686 | return true; |
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs index 6f3c80a..a1b918a 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | |||
@@ -213,7 +213,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
213 | HandleUndeliverableMessage(im, result); | 213 | HandleUndeliverableMessage(im, result); |
214 | else | 214 | else |
215 | result(success); | 215 | result(success); |
216 | }); | 216 | }, null, "HGMessageTransferModule.SendInstantMessage"); |
217 | 217 | ||
218 | return; | 218 | return; |
219 | } | 219 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs index c1795f6..546a121 100644 --- a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs | |||
@@ -194,7 +194,7 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles | |||
194 | Util.FireAndForget(delegate | 194 | Util.FireAndForget(delegate |
195 | { | 195 | { |
196 | GetImageAssets(((IScenePresence)obj).UUID); | 196 | GetImageAssets(((IScenePresence)obj).UUID); |
197 | }); | 197 | }, null, "UserProfileModule.GetImageAssets"); |
198 | } | 198 | } |
199 | 199 | ||
200 | /// <summary> | 200 | /// <summary> |
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index 0c0cdf2..72d6bac 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
169 | AgentCircuitData aCircuit = Scene.AuthenticateHandler.GetAgentCircuitData(so.AttachedAvatar); | 169 | AgentCircuitData aCircuit = Scene.AuthenticateHandler.GetAgentCircuitData(so.AttachedAvatar); |
170 | if (aCircuit != null && (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0) | 170 | if (aCircuit != null && (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0) |
171 | { | 171 | { |
172 | if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServerURI")) | 172 | if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServRezerURI")) |
173 | { | 173 | { |
174 | string url = aCircuit.ServiceURLs["AssetServerURI"].ToString(); | 174 | string url = aCircuit.ServiceURLs["AssetServerURI"].ToString(); |
175 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Incoming attachment {0} for HG user {1} with asset server {2}", so.Name, so.AttachedAvatar, url); | 175 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Incoming attachment {0} for HG user {1} with asset server {2}", so.Name, so.AttachedAvatar, url); |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs index 7695404..7fcfc74 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs | |||
@@ -295,7 +295,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
295 | 295 | ||
296 | if (asset != null) | 296 | if (asset != null) |
297 | { | 297 | { |
298 | Util.FireAndForget(delegate { handler(id, sender, asset); }); | 298 | Util.FireAndForget(delegate { handler(id, sender, asset); }, null, "HGAssetBroker.GotFromCache"); |
299 | return true; | 299 | return true; |
300 | } | 300 | } |
301 | 301 | ||
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs index 97b7559..5f34450 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs | |||
@@ -236,7 +236,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
236 | 236 | ||
237 | if (asset != null) | 237 | if (asset != null) |
238 | { | 238 | { |
239 | Util.FireAndForget(delegate { handler(id, sender, asset); }); | 239 | Util.FireAndForget( |
240 | o => handler(id, sender, asset), null, "LocalAssetServiceConnector.GotFromCacheCallback"); | ||
240 | return true; | 241 | return true; |
241 | } | 242 | } |
242 | } | 243 | } |
@@ -249,7 +250,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
249 | // if (null == a) | 250 | // if (null == a) |
250 | // m_log.WarnFormat("[LOCAL ASSET SERVICES CONNECTOR]: Could not asynchronously find asset with id {0}", id); | 251 | // m_log.WarnFormat("[LOCAL ASSET SERVICES CONNECTOR]: Could not asynchronously find asset with id {0}", id); |
251 | 252 | ||
252 | Util.FireAndForget(delegate { handler(assetID, s, a); }); | 253 | Util.FireAndForget( |
254 | o => handler(assetID, s, a), null, "LocalAssetServiceConnector.GotFromServiceCallback"); | ||
253 | }); | 255 | }); |
254 | } | 256 | } |
255 | 257 | ||