/// <summary> /// After MakeSingleCall determines whether the HTTP request was succesful. Populates the error, logs messages and update4s the latency tracker. /// </summary> /// <param name="opCode">Operation Code</param> /// <param name="path">Path of the file or directory</param> /// <param name="resp">Contains the response message </param> /// <param name="responseLength">Length of the response returned by the server</param> /// <param name="requestLength">Length of the request data</param> /// <param name="requestId">Request ID</param> /// <param name="clientId">Client Id of the application</param> /// <param name="querParams">Serialized query parameter of the Http request</param> /// <param name="numRetries">Number of retries</param> private static void HandleMakeSingleCallResponse(string opCode, string path, OperationResponse resp, int responseLength, int requestLength, string requestId, long clientId, string querParams, ref int numRetries) { DetermineIsSuccessful(resp);//After recieving the response from server determine whether the response is successful string error = ""; if (!resp.IsSuccessful) { if (resp.Ex != null) { error = resp.Ex.Message; } else if (!string.IsNullOrEmpty(resp.RemoteExceptionName)) { error = resp.HttpStatus + ": " + resp.RemoteExceptionName; } else if (!string.IsNullOrEmpty(resp.Error)) { error = resp.Error; } //This is either unexplained exception or the remote exception returned from server resp.ExceptionHistory = resp.ExceptionHistory == null ? error : resp.ExceptionHistory + "," + error; numRetries++; } if (WebTransportLog.IsDebugEnabled) { string logLine = $"HTTPRequest,{(resp.IsSuccessful ? "Succeeded" : "failed")},cReqId:{requestId},lat:{resp.LastCallLatency},err{error},Reqlen:{requestLength},Resplen:{responseLength}" + $",token_ns:{resp.TokenAcquisitionLatency},sReqId:{resp.RequestId},path:{path},qp:{querParams}"; WebTransportLog.Debug(logLine); } LatencyTracker.AddLatency(requestId, numRetries, resp.LastCallLatency, error, opCode, requestLength + responseLength, clientId); }
/// <summary> /// After MakeSingleCall determines whether the HTTP request was succesful. Populates the error, logs messages and update4s the latency tracker. /// </summary> /// <param name="opCode">Operation Code</param> /// <param name="path">Path of the file or directory</param> /// <param name="resp">Contains the response message </param> /// <param name="responseLength">Length of the response returned by the server</param> /// <param name="requestLength">Length of the request data</param> /// <param name="req">Request Options</param> /// <param name="client">AdlsClient</param> /// <param name="querParams">Serialized query parameter of the Http request</param> /// <param name="numRetries">Number of retries</param> private static void HandleMakeSingleCallResponse(string opCode, string path, OperationResponse resp, int responseLength, int requestLength, RequestOptions req, AdlsClient client, string querParams, ref int numRetries) { DetermineIsSuccessful(resp);//After recieving the response from server determine whether the response is successful string error = ""; if (!resp.IsSuccessful) { if (resp.Ex != null) { error = resp.Ex.Message; } else if (!string.IsNullOrEmpty(resp.RemoteExceptionName)) { error = $"{resp.HttpStatus} ( {resp.RemoteExceptionName} {resp.RemoteExceptionMessage} JavaClassName: {resp.RemoteExceptionJavaClassName} "; } else if (!string.IsNullOrEmpty(resp.Error)) { error = resp.Error; } //This is either unexplained exception or the remote exception returned from server resp.ExceptionHistory = resp.ExceptionHistory == null ? error : resp.ExceptionHistory + "," + error; numRetries++; } if (WebTransportLog.IsDebugEnabled) { string logLine = $"HTTPRequest,{(resp.IsSuccessful ? "Succeeded" : "failed")},cReqId:{req.RequestId},lat:{resp.LastCallLatency},err:{error},Reqlen:{requestLength},Resplen:{responseLength}" + $"{(resp.HttpStatus == HttpStatusCode.Unauthorized ? $",Tokenlen:{resp.AuthorizationHeaderLength}" : "")},token_ns:{resp.TokenAcquisitionLatency},sReqId:{resp.RequestId}" + $",path:{path},qp:{querParams}{(!req.KeepAlive ? ",keepAlive:false" : "")}{(!req.IgnoreDip && client.DipIp != null ? $",dipIp:{client.DipIp}" : "")}"; WebTransportLog.Debug(logLine); } LatencyTracker.AddLatency(req.RequestId, numRetries, resp.LastCallLatency, error, opCode, requestLength + responseLength, client.ClientId); }