diff options
author | Justin Clark-Casey (justincc) | 2010-08-31 18:27:10 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2010-08-31 18:27:10 +0100 |
commit | b8c58e5f9f5957ae5b28bc17b2db2eb9f55dcd7b (patch) | |
tree | 80fd6d3047dfd92daaf6685e7774c88aed30161f | |
parent | minor: Add some method doc to BaseHttpServer.HandleRequest() (diff) | |
download | opensim-SC-b8c58e5f9f5957ae5b28bc17b2db2eb9f55dcd7b.zip opensim-SC-b8c58e5f9f5957ae5b28bc17b2db2eb9f55dcd7b.tar.gz opensim-SC-b8c58e5f9f5957ae5b28bc17b2db2eb9f55dcd7b.tar.bz2 opensim-SC-b8c58e5f9f5957ae5b28bc17b2db2eb9f55dcd7b.tar.xz |
reinsert functionality to debug log more levels of incoming and outgoing client protocol packets
These levels correspond to packets that one isn't usually interested in when debugging (e.g. regular outgoing SimStats packets)
This is equivalent to what we had a year ago before it was removed. It's extremely crude since it doesn't allow one to pick individual clients or packets. However, it can still be useful when debugging packet race conditions.
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 52 |
3 files changed, 50 insertions, 11 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 6834606..3c2575d 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -218,7 +218,13 @@ namespace OpenSim | |||
218 | 218 | ||
219 | m_console.Commands.AddCommand("region", false, "debug packet", | 219 | m_console.Commands.AddCommand("region", false, "debug packet", |
220 | "debug packet <level>", | 220 | "debug packet <level>", |
221 | "Turn on packet debugging", Debug); | 221 | "Turn on packet debugging", |
222 | "If level > 255 then all incoming and outgoing packets are logged.\n" | ||
223 | + "If level <= 255 then incoming AgentUpdate and outgoing SimStats and SimulatorViewerTimeMessage packets are not logged.\n" | ||
224 | + "If level <= 200 then incoming RequestImage and outgoing ImagePacket, ImageData, LayerData and CoarseLocationUpdate packets are not logged.\n" | ||
225 | + "If level <= 100 then incoming ViewerEffect and AgentAnimation and outgoing ViewerEffect and AvatarAnimation packets are not logged.\n" | ||
226 | + "If level <= 0 then no packets are logged.", | ||
227 | Debug); | ||
222 | 228 | ||
223 | m_console.Commands.AddCommand("region", false, "debug scene", | 229 | m_console.Commands.AddCommand("region", false, "debug scene", |
224 | "debug scene <cripting> <collisions> <physics>", | 230 | "debug scene <cripting> <collisions> <physics>", |
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 526d3b5..d2d2607 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -36,7 +36,6 @@ using Nini.Config; | |||
36 | using OpenMetaverse; | 36 | using OpenMetaverse; |
37 | using OpenSim.Framework; | 37 | using OpenSim.Framework; |
38 | using OpenSim.Framework.Communications; | 38 | using OpenSim.Framework.Communications; |
39 | |||
40 | using OpenSim.Framework.Console; | 39 | using OpenSim.Framework.Console; |
41 | using OpenSim.Framework.Servers; | 40 | using OpenSim.Framework.Servers; |
42 | using OpenSim.Framework.Servers.HttpServer; | 41 | using OpenSim.Framework.Servers.HttpServer; |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 0d142f4..fddb966 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -60,7 +60,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
60 | public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat, IClientIPEndpoint, IStatsCollector | 60 | public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat, IClientIPEndpoint, IStatsCollector |
61 | { | 61 | { |
62 | /// <value> | 62 | /// <value> |
63 | /// Debug packet level. At the moment, only 255 does anything (prints out all in and out packets). | 63 | /// Debug packet level. See OpenSim.RegisterConsoleCommands() for more details. |
64 | /// </value> | 64 | /// </value> |
65 | protected int m_debugPacketLevel = 0; | 65 | protected int m_debugPacketLevel = 0; |
66 | 66 | ||
@@ -11174,8 +11174,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11174 | /// handles splitting manually</param> | 11174 | /// handles splitting manually</param> |
11175 | protected void OutPacket(Packet packet, ThrottleOutPacketType throttlePacketType, bool doAutomaticSplitting) | 11175 | protected void OutPacket(Packet packet, ThrottleOutPacketType throttlePacketType, bool doAutomaticSplitting) |
11176 | { | 11176 | { |
11177 | if (m_debugPacketLevel >= 255) | 11177 | if (m_debugPacketLevel > 0) |
11178 | m_log.DebugFormat("[CLIENT]: Packet OUT {0}", packet.Type); | 11178 | { |
11179 | bool outputPacket = true; | ||
11180 | |||
11181 | if (m_debugPacketLevel <= 255 | ||
11182 | && (packet.Type == PacketType.SimStats || packet.Type == PacketType.SimulatorViewerTimeMessage)) | ||
11183 | outputPacket = false; | ||
11184 | |||
11185 | if (m_debugPacketLevel <= 200 | ||
11186 | && | ||
11187 | (packet.Type == PacketType.ImagePacket | ||
11188 | || packet.Type == PacketType.ImageData | ||
11189 | || packet.Type == PacketType.LayerData | ||
11190 | || packet.Type == PacketType.CoarseLocationUpdate)) | ||
11191 | outputPacket = false; | ||
11192 | |||
11193 | if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.AvatarAnimation || packet.Type == PacketType.ViewerEffect)) | ||
11194 | outputPacket = false; | ||
11195 | |||
11196 | if (outputPacket) | ||
11197 | m_log.DebugFormat("[CLIENT]: Packet OUT {0}", packet.Type); | ||
11198 | } | ||
11179 | 11199 | ||
11180 | m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting); | 11200 | m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting); |
11181 | } | 11201 | } |
@@ -11246,15 +11266,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11246 | /// Entryway from the client to the simulator. All UDP packets from the client will end up here | 11266 | /// Entryway from the client to the simulator. All UDP packets from the client will end up here |
11247 | /// </summary> | 11267 | /// </summary> |
11248 | /// <param name="Pack">OpenMetaverse.packet</param> | 11268 | /// <param name="Pack">OpenMetaverse.packet</param> |
11249 | public void ProcessInPacket(Packet Pack) | 11269 | public void ProcessInPacket(Packet packet) |
11250 | { | 11270 | { |
11251 | if (m_debugPacketLevel >= 255) | 11271 | if (m_debugPacketLevel > 0) |
11252 | m_log.DebugFormat("[CLIENT]: Packet IN {0}", Pack.Type); | 11272 | { |
11273 | bool outputPacket = true; | ||
11274 | |||
11275 | if (m_debugPacketLevel <= 255 && packet.Type == PacketType.AgentUpdate) | ||
11276 | outputPacket = false; | ||
11277 | |||
11278 | if (m_debugPacketLevel <= 200 && packet.Type == PacketType.RequestImage) | ||
11279 | outputPacket = false; | ||
11280 | |||
11281 | if (m_debugPacketLevel <= 100 && (packet.Type == PacketType.ViewerEffect || packet.Type == PacketType.AgentAnimation)) | ||
11282 | outputPacket = false; | ||
11283 | |||
11284 | if (outputPacket) | ||
11285 | m_log.DebugFormat("[CLIENT]: Packet IN {0}", packet.Type); | ||
11286 | } | ||
11253 | 11287 | ||
11254 | if (!ProcessPacketMethod(Pack)) | 11288 | if (!ProcessPacketMethod(packet)) |
11255 | m_log.Warn("[CLIENT]: unhandled packet " + Pack.Type); | 11289 | m_log.Warn("[CLIENT]: unhandled packet " + packet.Type); |
11256 | 11290 | ||
11257 | PacketPool.Instance.ReturnPacket(Pack); | 11291 | PacketPool.Instance.ReturnPacket(packet); |
11258 | } | 11292 | } |
11259 | 11293 | ||
11260 | private static PrimitiveBaseShape GetShapeFromAddPacket(ObjectAddPacket addPacket) | 11294 | private static PrimitiveBaseShape GetShapeFromAddPacket(ObjectAddPacket addPacket) |