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

@@ -1161,7 +1161,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// <param name="map">heightmap</param>
public virtual void SendLayerData(float[] map)
{
Util.FireAndForget(DoSendLayerData, m_scene.Heightmap.GetTerrainData());
Util.FireAndForget(DoSendLayerData, m_scene.Heightmap.GetTerrainData(), "LLClientView.DoSendLayerData");
}
/// <summary>
@@ -1373,7 +1373,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// <param name="windSpeeds">16x16 array of wind speeds</param>
public virtual void SendWindData(Vector2[] windSpeeds)
{
Util.FireAndForget(DoSendWindData, windSpeeds);
Util.FireAndForget(DoSendWindData, windSpeeds, "LLClientView.SendWindData");
}
/// <summary>
@@ -1382,7 +1382,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// <param name="windSpeeds">16x16 array of cloud densities</param>
public virtual void SendCloudData(float[] cloudDensity)
{
Util.FireAndForget(DoSendCloudData, cloudDensity);
Util.FireAndForget(DoSendCloudData, cloudDensity, "LLClientView.SendCloudData");
}
/// <summary>
@@ -8093,7 +8093,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
// This requests the asset if needed
HandleSimInventoryTransferRequestWithPermsCheck(sender, transfer);
});
}, null, "LLClientView.HandleTransferRequest");
return true;
}
}

View File

@@ -732,7 +732,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (!m_udpServer.OqrEngine.IsRunning)
{
// Asynchronously run the callback
Util.FireAndForget(FireQueueEmpty, categories);
Util.FireAndForget(FireQueueEmpty, categories, "LLUDPClient.BeginFireQueueEmpty");
}
else
{

View File

@@ -991,7 +991,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// Fire this out on a different thread so that we don't hold up outgoing packet processing for
// everybody else if this is being called due to an ack timeout.
// This is the same as processing as the async process of a logout request.
Util.FireAndForget(o => DeactivateClientDueToTimeout(client, timeoutTicks));
Util.FireAndForget(
o => DeactivateClientDueToTimeout(client, timeoutTicks), null, "LLUDPServer.DeactivateClientDueToTimeout");
return;
}
@@ -1225,7 +1226,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// buffer.
object[] array = new object[] { new IPEndPoint(endPoint.Address, endPoint.Port), packet };
Util.FireAndForget(HandleUseCircuitCode, array);
Util.FireAndForget(HandleUseCircuitCode, array, "LLUDPServer.HandleUseCircuitCode");
return;
}
@@ -1238,7 +1239,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// buffer.
object[] array = new object[] { new IPEndPoint(endPoint.Address, endPoint.Port), packet };
Util.FireAndForget(HandleCompleteMovementIntoRegion, array);
Util.FireAndForget(
HandleCompleteMovementIntoRegion, array, "LLUDPServer.HandleCompleteMovementIntoRegion");
return;
}