From ec8d21c434a39f46518ee9cf9f5539d1790eacc0 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 4 Nov 2014 00:55:48 +0000
Subject: 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.
---
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 9 +++++----
OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs | 2 +-
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 8 +++++---
3 files changed, 11 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Region/ClientStack')
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index c8c00c8..516327c 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -1161,7 +1161,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// heightmap
public virtual void SendLayerData(float[] map)
{
- Util.FireAndForget(DoSendLayerData, m_scene.Heightmap.GetTerrainData());
+ Util.FireAndForget(DoSendLayerData, m_scene.Heightmap.GetTerrainData(), "LLClientView.DoSendLayerData");
}
///
@@ -1373,7 +1373,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// 16x16 array of wind speeds
public virtual void SendWindData(Vector2[] windSpeeds)
{
- Util.FireAndForget(DoSendWindData, windSpeeds);
+ Util.FireAndForget(DoSendWindData, windSpeeds, "LLClientView.SendWindData");
}
///
@@ -1382,7 +1382,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// 16x16 array of cloud densities
public virtual void SendCloudData(float[] cloudDensity)
{
- Util.FireAndForget(DoSendCloudData, cloudDensity);
+ Util.FireAndForget(DoSendCloudData, cloudDensity, "LLClientView.SendCloudData");
}
///
@@ -8093,7 +8093,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
// This requests the asset if needed
HandleSimInventoryTransferRequestWithPermsCheck(sender, transfer);
- });
+ }, null, "LLClientView.HandleTransferRequest");
+
return true;
}
}
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs
index b70d861..8f14806 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs
@@ -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
{
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index aa10301..61e1d6a 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -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;
}
--
cgit v1.1