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.
This commit is contained in:
Justin Clark-Casey (justincc)
2014-11-04 00:55:48 +00:00
parent 72cb1cc7d6
commit ec8d21c434
30 changed files with 103 additions and 65 deletions

View File

@@ -167,7 +167,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender
// Do Decode!
if (decode)
Util.FireAndForget(delegate { Decode(assetID, j2kData); });
Util.FireAndForget(delegate { Decode(assetID, j2kData); }, null, "J2KDecoderModule.BeginDecode");
}
}

View File

@@ -302,7 +302,7 @@ namespace OpenSim.Region.CoreModules.Asset
}
Util.FireAndForget(
delegate { WriteFileCache(filename, asset); });
delegate { WriteFileCache(filename, asset); }, null, "FlotsamAssetCache.UpdateFileCache");
}
}
catch (Exception e)

View File

@@ -593,7 +593,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
if (sendTime < now)
{
Util.FireAndForget(o => SendAppearance(avatarID));
Util.FireAndForget(o => SendAppearance(avatarID), null, "AvatarFactoryModule.SendAppearance");
m_sendqueue.Remove(avatarID);
}
}
@@ -611,7 +611,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
if (sendTime < now)
{
Util.FireAndForget(o => SaveAppearance(avatarID));
Util.FireAndForget(o => SaveAppearance(avatarID), null, "AvatarFactoryModule.SaveAppearance");
m_savequeue.Remove(avatarID);
}
}
@@ -1038,7 +1038,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++);
else
m_log.WarnFormat("[AVFACTORY]: Client_OnRequestWearables unable to find presence for {0}", client.AgentId);
});
}, null, "AvatarFactoryModule.OnClientRequestWearables");
}
/// <summary>

View File

@@ -187,7 +187,7 @@ namespace OpenSim.Region.CoreModules.Avatar.BakedTextures
{
rc.Request(reqStream, m_Auth);
m_log.DebugFormat("[XBakes]: stored {0} textures for user {1}", data.Length, agentId);
}
}, null, "XBakesModule.Store"
);
}
}

View File

@@ -511,7 +511,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
// Notify about this user status
StatusNotify(friendList, agentID, online);
}
}, null, "FriendsModule.StatusChange"
);
}
}

View File

@@ -660,7 +660,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
FriendsService.Delete(friendUUI, agentID.ToString());
// notify the exfriend's service
Util.FireAndForget(delegate { Delete(exfriendID, agentID, friendUUI); });
Util.FireAndForget(
delegate { Delete(exfriendID, agentID, friendUUI); }, null, "HGFriendsModule.DeleteFriendshipForeignFriend");
m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentID, friendUUI);
return true;
@@ -678,7 +679,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
FriendsService.Delete(agentUUI, exfriendID.ToString());
// notify the agent's service?
Util.FireAndForget(delegate { Delete(agentID, exfriendID, agentUUI); });
Util.FireAndForget(
delegate { Delete(agentID, exfriendID, agentUUI); }, null, "HGFriendsModule.DeleteFriendshipLocalFriend");
m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentUUI, exfriendID);
return true;

View File

@@ -213,7 +213,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
HandleUndeliverableMessage(im, result);
else
result(success);
});
}, null, "HGMessageTransferModule.SendInstantMessage");
return;
}

View File

@@ -194,7 +194,7 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
Util.FireAndForget(delegate
{
GetImageAssets(((IScenePresence)obj).UUID);
});
}, null, "UserProfileModule.GetImageAssets");
}
/// <summary>

View File

@@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
AgentCircuitData aCircuit = Scene.AuthenticateHandler.GetAgentCircuitData(so.AttachedAvatar);
if (aCircuit != null && (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0)
{
if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServerURI"))
if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServRezerURI"))
{
string url = aCircuit.ServiceURLs["AssetServerURI"].ToString();
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Incoming attachment {0} for HG user {1} with asset server {2}", so.Name, so.AttachedAvatar, url);

View File

@@ -295,7 +295,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
if (asset != null)
{
Util.FireAndForget(delegate { handler(id, sender, asset); });
Util.FireAndForget(delegate { handler(id, sender, asset); }, null, "HGAssetBroker.GotFromCache");
return true;
}

View File

@@ -236,7 +236,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
if (asset != null)
{
Util.FireAndForget(delegate { handler(id, sender, asset); });
Util.FireAndForget(
o => handler(id, sender, asset), null, "LocalAssetServiceConnector.GotFromCacheCallback");
return true;
}
}
@@ -249,7 +250,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset
// if (null == a)
// m_log.WarnFormat("[LOCAL ASSET SERVICES CONNECTOR]: Could not asynchronously find asset with id {0}", id);
Util.FireAndForget(delegate { handler(assetID, s, a); });
Util.FireAndForget(
o => handler(assetID, s, a), null, "LocalAssetServiceConnector.GotFromServiceCallback");
});
}