debug tracing for asset server hangs

afrisby
Sean Dague 2007-11-01 22:01:26 +00:00
parent 317ef312bd
commit 21e47f8ef0
4 changed files with 20 additions and 5 deletions

View File

@ -71,7 +71,9 @@ namespace OpenSim.Framework.Communications.Cache
ARequest req = new ARequest(); ARequest req = new ARequest();
req.AssetID = assetID; req.AssetID = assetID;
req.IsTexture = isTexture; req.IsTexture = isTexture;
MainLog.Instance.Verbose("ASSET","Adding {0} to request queue", assetID);
_assetRequests.Enqueue(req); _assetRequests.Enqueue(req);
MainLog.Instance.Verbose("ASSET","Added {0} to request queue", assetID);
} }
public virtual void UpdateAsset(AssetBase asset) public virtual void UpdateAsset(AssetBase asset)

View File

@ -108,9 +108,11 @@ namespace OpenSim.Framework.Communications.Cache
XmlSerializer xs = new XmlSerializer(typeof (AssetBase)); XmlSerializer xs = new XmlSerializer(typeof (AssetBase));
xs.Serialize(s, asset); xs.Serialize(s, asset);
RestClient rc = new RestClient(_assetServerUrl); RestClient rc = new RestClient(_assetServerUrl);
MainLog.Instance.Verbose("ASSET", "Storing {0}", rc);
rc.AddResourcePath("assets"); rc.AddResourcePath("assets");
rc.RequestMethod = "POST"; rc.RequestMethod = "POST";
rc.Request(s); rc.Request(s);
MainLog.Instance.Verbose("ASSET", "Stored {0}", rc);
} }
catch (Exception e) catch (Exception e)
{ {

View File

@ -5,6 +5,7 @@ using System.Net;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Web; using System.Web;
using OpenSim.Framework.Console;
namespace OpenSim.Framework.Communications namespace OpenSim.Framework.Communications
{ {
@ -209,6 +210,7 @@ namespace OpenSim.Framework.Communications
} }
} }
realuri = sb.ToString(); realuri = sb.ToString();
MainLog.Instance.Verbose("REST", "RestURL: {0}", realuri);
return new Uri(sb.ToString()); return new Uri(sb.ToString());
} }
@ -335,7 +337,7 @@ namespace OpenSim.Framework.Communications
} }
public Stream Request(Stream src) public Stream Request(Stream src)
{ {
_request = (HttpWebRequest) WebRequest.Create(buildUri()); _request = (HttpWebRequest) WebRequest.Create(buildUri());
_request.KeepAlive = false; _request.KeepAlive = false;
_request.ContentType = "application/xml"; _request.ContentType = "application/xml";
@ -344,10 +346,16 @@ namespace OpenSim.Framework.Communications
_asyncException = null; _asyncException = null;
_request.ContentLength = src.Length; _request.ContentLength = src.Length;
MainLog.Instance.Verbose("REST", "Request Length {0}", _request.ContentLength);
MainLog.Instance.Verbose("REST", "Sending Web Request {0}", buildUri());
src.Seek(0, SeekOrigin.Begin); src.Seek(0, SeekOrigin.Begin);
MainLog.Instance.Verbose("REST", "Seek is ok");
Stream dst = _request.GetRequestStream(); Stream dst = _request.GetRequestStream();
MainLog.Instance.Verbose("REST", "GetRequestStream is ok");
byte[] buf = new byte[1024]; byte[] buf = new byte[1024];
int length = src.Read(buf, 0, 1024); int length = src.Read(buf, 0, 1024);
MainLog.Instance.Verbose("REST", "First Read is ok");
while (length > 0) while (length > 0)
{ {
dst.Write(buf, 0, length); dst.Write(buf, 0, length);

View File

@ -17,6 +17,7 @@ namespace OpenSim.Grid.AssetServer
public override byte[] Handle(string path, Stream request) public override byte[] Handle(string path, Stream request)
{ {
MainLog.Instance.Verbose("REST", "In Handle");
string param = GetParam(path); string param = GetParam(path);
byte[] result = new byte[] {}; byte[] result = new byte[] {};
try try
@ -51,6 +52,7 @@ namespace OpenSim.Grid.AssetServer
StreamReader sr = new StreamReader(ms); StreamReader sr = new StreamReader(ms);
result = ms.GetBuffer(); result = ms.GetBuffer();
MainLog.Instance.Verbose("REST", "Buffer: {0}", result);
Array.Resize<byte>(ref result, (int) ms.Length); Array.Resize<byte>(ref result, (int) ms.Length);
} }
else else
@ -69,6 +71,7 @@ namespace OpenSim.Grid.AssetServer
public GetAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider) public GetAssetStreamHandler(OpenAsset_Main assetManager, IAssetProvider assetProvider)
: base("GET", "/assets") : base("GET", "/assets")
{ {
MainLog.Instance.Verbose("REST", "In Get Request");
m_assetManager = assetManager; m_assetManager = assetManager;
m_assetProvider = assetProvider; m_assetProvider = assetProvider;
} }