aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorDiva Canto2011-02-05 17:57:30 -0800
committerDiva Canto2011-02-05 17:57:30 -0800
commitb20ab1063f5717a69fb3226c44b4af5228280d35 (patch)
treec2c9ae477759644e6d394243fada94d92405aa9c /OpenSim
parentAdd sane packing of ServiceURLs -- OSDMap. The old way (OSDArray) is still su... (diff)
downloadopensim-SC_OLD-b20ab1063f5717a69fb3226c44b4af5228280d35.zip
opensim-SC_OLD-b20ab1063f5717a69fb3226c44b4af5228280d35.tar.gz
opensim-SC_OLD-b20ab1063f5717a69fb3226c44b4af5228280d35.tar.bz2
opensim-SC_OLD-b20ab1063f5717a69fb3226c44b4af5228280d35.tar.xz
Added a couple of console commands to help diagnose issues:
show circuits: shows the lists of agent circuit data show http-handlers: shows the currently registered http handlers
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs32
-rw-r--r--OpenSim/Region/Application/OpenSim.cs50
2 files changed, 82 insertions, 0 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
index d4ee7ba..4c35132 100644
--- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
+++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
@@ -143,6 +143,11 @@ namespace OpenSim.Framework.Servers.HttpServer
143 } 143 }
144 } 144 }
145 145
146 public List<string> GetStreamHandlerKeys()
147 {
148 return new List<string>(m_streamHandlers.Keys);
149 }
150
146 private static string GetHandlerKey(string httpMethod, string path) 151 private static string GetHandlerKey(string httpMethod, string path)
147 { 152 {
148 return httpMethod + ":" + path; 153 return httpMethod + ":" + path;
@@ -179,6 +184,11 @@ namespace OpenSim.Framework.Servers.HttpServer
179 } 184 }
180 } 185 }
181 186
187 public List<string> GetXmlRpcHandlerKeys()
188 {
189 return new List<string>(m_rpcHandlers.Keys);
190 }
191
182 public bool AddHTTPHandler(string methodName, GenericHTTPMethod handler) 192 public bool AddHTTPHandler(string methodName, GenericHTTPMethod handler)
183 { 193 {
184 //m_log.DebugFormat("[BASE HTTP SERVER]: Registering {0}", methodName); 194 //m_log.DebugFormat("[BASE HTTP SERVER]: Registering {0}", methodName);
@@ -196,6 +206,12 @@ namespace OpenSim.Framework.Servers.HttpServer
196 return false; 206 return false;
197 } 207 }
198 208
209 public List<string> GetHTTPHandlerKeys()
210 {
211 return new List<string>(m_HTTPHandlers.Keys);
212 }
213
214
199 public bool AddPollServiceHTTPHandler(string methodName, GenericHTTPMethod handler, PollServiceEventArgs args) 215 public bool AddPollServiceHTTPHandler(string methodName, GenericHTTPMethod handler, PollServiceEventArgs args)
200 { 216 {
201 bool pollHandlerResult = false; 217 bool pollHandlerResult = false;
@@ -214,6 +230,12 @@ namespace OpenSim.Framework.Servers.HttpServer
214 return false; 230 return false;
215 } 231 }
216 232
233 public List<string> GetPollServiceHandlerKeys()
234 {
235 return new List<string>(m_pollHandlers.Keys);
236 }
237
238
217 // Note that the agent string is provided simply to differentiate 239 // Note that the agent string is provided simply to differentiate
218 // the handlers - it is NOT required to be an actual agent header 240 // the handlers - it is NOT required to be an actual agent header
219 // value. 241 // value.
@@ -232,6 +254,11 @@ namespace OpenSim.Framework.Servers.HttpServer
232 return false; 254 return false;
233 } 255 }
234 256
257 public List<string> GetAgentHandlerKeys()
258 {
259 return new List<string>(m_agentHandlers.Keys);
260 }
261
235 public bool AddLLSDHandler(string path, LLSDMethod handler) 262 public bool AddLLSDHandler(string path, LLSDMethod handler)
236 { 263 {
237 lock (m_llsdHandlers) 264 lock (m_llsdHandlers)
@@ -245,6 +272,11 @@ namespace OpenSim.Framework.Servers.HttpServer
245 return false; 272 return false;
246 } 273 }
247 274
275 public List<string> GetLLSDHandlerKeys()
276 {
277 return new List<string>(m_llsdHandlers.Keys);
278 }
279
248 public bool SetDefaultLLSDHandler(DefaultLLSDMethod handler) 280 public bool SetDefaultLLSDHandler(DefaultLLSDMethod handler)
249 { 281 {
250 m_defaultLlsdHandler = handler; 282 m_defaultLlsdHandler = handler;
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs
index ed4b620..bbcc588 100644
--- a/OpenSim/Region/Application/OpenSim.cs
+++ b/OpenSim/Region/Application/OpenSim.cs
@@ -294,6 +294,14 @@ namespace OpenSim
294 "show connections", 294 "show connections",
295 "Show connection data", HandleShow); 295 "Show connection data", HandleShow);
296 296
297 m_console.Commands.AddCommand("region", false, "show circuits",
298 "show circuits",
299 "Show agent circuit data", HandleShow);
300
301 m_console.Commands.AddCommand("region", false, "show http-handlers",
302 "show http-handlers",
303 "Show all registered http handlers", HandleShow);
304
297 m_console.Commands.AddCommand("region", false, "show modules", 305 m_console.Commands.AddCommand("region", false, "show modules",
298 "show modules", 306 "show modules",
299 "Show module data", HandleShow); 307 "Show module data", HandleShow);
@@ -943,6 +951,48 @@ namespace OpenSim
943 MainConsole.Instance.Output(connections.ToString()); 951 MainConsole.Instance.Output(connections.ToString());
944 break; 952 break;
945 953
954 case "circuits":
955 System.Text.StringBuilder acd = new System.Text.StringBuilder("Agent Circuits:\n");
956 m_sceneManager.ForEachScene(
957 delegate(Scene scene)
958 {
959 //this.HttpServer.
960 acd.AppendFormat("{0}:\n", scene.RegionInfo.RegionName);
961 foreach (AgentCircuitData aCircuit in scene.AuthenticateHandler.AgentCircuits.Values)
962 acd.AppendFormat("\t{0} {1} ({2})\n", aCircuit.firstname, aCircuit.lastname, (aCircuit.child ? "Child" : "Root"));
963 }
964 );
965
966 MainConsole.Instance.Output(acd.ToString());
967 break;
968
969 case "http-handlers":
970 System.Text.StringBuilder handlers = new System.Text.StringBuilder("Registered HTTP Handlers:\n");
971
972 handlers.AppendFormat("* XMLRPC:\n");
973 foreach (String s in HttpServer.GetXmlRpcHandlerKeys())
974 handlers.AppendFormat("\t{0}\n", s);
975
976 handlers.AppendFormat("* HTTP:\n");
977 List<String> poll = HttpServer.GetPollServiceHandlerKeys();
978 foreach (String s in HttpServer.GetHTTPHandlerKeys())
979 handlers.AppendFormat("\t{0} {1}\n", s, (poll.Contains(s) ? "(poll service)" : string.Empty));
980
981 handlers.AppendFormat("* Agent:\n");
982 foreach (String s in HttpServer.GetAgentHandlerKeys())
983 handlers.AppendFormat("\t{0}\n", s);
984
985 handlers.AppendFormat("* LLSD:\n");
986 foreach (String s in HttpServer.GetLLSDHandlerKeys())
987 handlers.AppendFormat("\t{0}\n", s);
988
989 handlers.AppendFormat("* StreamHandlers ({0}):\n", HttpServer.GetStreamHandlerKeys().Count);
990 foreach (String s in HttpServer.GetStreamHandlerKeys())
991 handlers.AppendFormat("\t{0}\n", s);
992
993 MainConsole.Instance.Output(handlers.ToString());
994 break;
995
946 case "modules": 996 case "modules":
947 MainConsole.Instance.Output("The currently loaded shared modules are:"); 997 MainConsole.Instance.Output("The currently loaded shared modules are:");
948 foreach (IRegionModule module in m_moduleLoader.GetLoadedSharedModules) 998 foreach (IRegionModule module in m_moduleLoader.GetLoadedSharedModules)