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