Skip to content

Commit e9b4bc3

Browse files
committed
change connect check info record logic
1 parent 8935fe4 commit e9b4bc3

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

QiniuSDK/Http/QNUploadRequestMetrics.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ NS_ASSUME_NONNULL_BEGIN
1919
// 只有进行网络检测才会有 connectCheckMetrics
2020
@property (nullable , strong) QNUploadSingleRequestMetrics *connectCheckMetrics;
2121

22+
// 错误信息
23+
@property (nullable , strong) NSError *error;
24+
2225
@property (nonatomic, copy) NSURLRequest *request;
2326
@property (nullable , copy) NSURLResponse *response;
2427

QiniuSDK/Http/Request/HttpClient/QNUploadSystemClient.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didComp
6565
self.requestMetrics.endDate = [NSDate date];
6666
self.requestMetrics.request = task.currentRequest;
6767
self.requestMetrics.response = task.response;
68+
self.requestMetrics.error = error;
6869
self.requestMetrics.countOfResponseBodyBytesReceived = task.response.expectedContentLength;
6970
self.requestMetrics.countOfRequestHeaderBytesSent = [NSString stringWithFormat:@"%@", task.currentRequest.allHTTPHeaderFields].length;
7071
self.complete(task.response, self.requestMetrics,self.responseData, error);

QiniuSDK/Http/Request/QNHttpSingleRequest.m

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,13 @@ - (void)reportRequest:(QNResponseInfo *)info
254254
[item setReportValue:requestMetrics.httpVersion forKey:QNReportRequestKeyHttpVersion];
255255

256256
if (requestMetricsP.connectCheckMetrics) {
257-
NSString *connectCheckDuration = [NSString stringWithFormat:@"%ld", (long)requestMetricsP.connectCheckMetrics.totalElapsedTime];
257+
QNUploadSingleRequestMetrics *metrics = requestMetricsP.connectCheckMetrics;
258+
NSString *connectCheckDuration = [NSString stringWithFormat:@"%.2lf", [metrics.totalElapsedTime doubleValue]];
258259
NSString *connectCheckStatusCode = @"";
259-
if (requestMetrics.connectCheckMetrics.response) {
260-
connectCheckStatusCode = [NSString stringWithFormat:@"%ld", (long)((NSHTTPURLResponse *)requestMetricsP.connectCheckMetrics.response).statusCode];
260+
if (metrics.response) {
261+
connectCheckStatusCode = [NSString stringWithFormat:@"%ld", (long)((NSHTTPURLResponse *)metrics.response).statusCode];
262+
} else if (metrics.error) {
263+
connectCheckStatusCode = [NSString stringWithFormat:@"%ld", metrics.error.code];
261264
}
262265
NSString *networkMeasuring = [NSString stringWithFormat:@"duration:%@ status_code:%@",connectCheckDuration, connectCheckStatusCode];
263266
[item setReportValue:networkMeasuring forKey:QNReportRequestKeyNetworkMeasuring];

0 commit comments

Comments
 (0)