통사론
+ (void)noticeNetworkRequestForURL:(NSURL*)url httpMethod:(NSString*)httpMethod withTimer:(NRTimer*)timer responseHeaders:(NSDictionary*)headers statusCode:(NSInteger)httpStatusCode bytesSent:(NSUInteger)bytesSent bytesReceived:(NSUInteger)bytesReceived responseData:(NSData *)responseData traceHeaders:(NSDictionary<NSString*,NSString*>* _Nullable)traceHeaders andParams:(NSDictionary * _Nullable)params;
완료된 트랜잭션 HTTP 네트워크 요청을 수동으로 기록합니다.
요구 사항
모든 에이전트 버전과 호환됩니다.
설명
New Relic은 URL, 응답 시간, 상태 코드, 송수신 데이터를 추적합니다.
응답 헤더의 사전에 X-NewRelic-AppData
헤더가 포함된 경우 New Relic은 모바일 앱과 웹 서버 간의 연결을 추적하고 New Relic UI는 서버 대 네트워크 대 대기열 시간의 상관 관계 및 비교를 표시합니다.
HTTP 상태 코드가 오류(400 이상)를 나타내는 경우 New Relic은 이 요청도 오류로 추적합니다. 요청 헤더의 사전과 응답 본문 데이터는 New Relic UI에서 서버 오류로 인코딩됩니다.
매개변수
매개변수 | 설명 |
---|---|
URL | 필수의. 요청의 URL입니다. |
끈 | 필수의. 요청의 HTTP 메서드입니다. |
NRTimer | 필수의. 요청의 시작과 끝을 캡처하는 타이머입니다. |
NSDictionary | 필수의. 서버 응답에서 반환된 헤더의 사전입니다. |
NSUInteger | 필수의. HTTP 응답의 상태 코드입니다. |
NSUInteger | 필수의. 요청 본문에서 보낸 바이트 수입니다. |
NSUInteger | 필수의. 응답 본문에서 수신된 바이트 수입니다. |
NSData | 필수의. 서버에서 반환한 응답 본문 데이터입니다. 추적된 서버 오류를 기록할 때 사용됩니다. |
NSDictionary | 널 입력 가능. 분산 추적에 사용됩니다. |
NSDictionary | 널 입력 가능. 미사용. |
예
오브젝티브-C
예시:
[NewRelic noticeNetworkRequestForURL:[NSURL URLWithString:@"https://www.newrelic.com"] httpMethod:@"GET" withTimer:[[NRTimer alloc] init] responseHeaders:@{} statusCode:200 bytesSent:1024 bytesReceived:52 responseData:[NSData data] traceHeaders:nil andParams:nil];
빠른
예시:
NewRelic.noticeNetworkRequest(for: URL(string: "https://www.newrelic.com"), httpMethod: "GET", with: NRTimer(), responseHeaders: [:], statusCode: 200, bytesSent: 1000, bytesReceived: 1000, responseData: Data(), traceHeaders: nil, andParams: nil)