• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

HTTP 요청 추적

통사론

자바

NewRelic.noticeHttpTransaction(string $url, string $httpMethod, int $statusCode, long $startTime, long $endTime, long $bytesSent, long $bytesReceived [, string $responseBody])

코틀린 [#kotlin]

NewRelic.noticeHttpTransaction(
url: String?,
httpMethod: String?,
statusCode: Int,
startTimeMs: Long,
endTimeMs: Long,
bytesSent: Long,
bytesReceived: Long,
responseBody: String?
)

설명 [#description]

응답 본문도 보내는 옵션을 사용하여 HTTP 트랜잭션을 기록합니다.

네트워크 요청이 실패하면 noticeNetworkFailure() 로 실패에 대한 세부 정보를 기록할 수 있습니다.

매개변수 [#parameters]

매개변수

유형

설명

$url

string

필수의. 요청의 URL입니다.

$httpMethod

string

필수의. GET 또는 POST와 같이 사용된 HTTP 메서드입니다.

$statusCode

int

필수의. HTTP 응답의 statusCode입니다(예: OK 의 경우 200).

$startTime

int

필수의. Epoch 이후의 요청 시작 시간(밀리초)입니다.

$endTime

int

필수의. Epoch 이후 요청의 종료 시간(밀리초)입니다.

$bytesSent

int

필수의. 요청에서 보낸 바이트 수입니다.

$bytesReceived

int

필수의. 응답에서 수신된 바이트 수입니다.

$responseBody

string

선택 과목. HTTP 응답의 응답 본문입니다. HTTP 트랜잭션이 오류인 경우 응답 본문이 잘리고 HTTP 오류 메트릭에 포함됩니다.

[#examples]

다음은 HTTP 트랜잭션을 추적하는 예입니다.

자바 [#java]

public class CustomHttpMetricsLogger implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
//collect request start time
long t1 = System.nanoTime();
//get the size of the request body
long requestSize = null == request.body() ? 0 : request.body().contentLength();
//proceed with the request
Response response = chain.proceed(request);
//capture the time when response returns
long t2 = System.nanoTime();
long responseSize = null == response.body() ? 0 : response.body().contentLength();
//tell New Relic to notice this request
NewRelic.noticeHttpTransaction(request.urlString(), request.method(), response.code(), t1, t2, requestSize, responseSize);
//return response for processing
return response;
}
}

코틀린 [#kotlin]

class CustomInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val t1 = System.nanoTime()
val aRequest: Request = chain.request()
val requestSize: Long = if (null == aRequest.body) 0 else aRequest.body!!.contentLength()
val aResponse = chain.proceed(aRequest)
val t2 = System.nanoTime()
val responseSize: Long = if (null == aResponse.body) 0 else aResponse.body!!.contentLength()
NewRelic.noticeHttpTransaction(aRequest.url.toString(), aRequest.method, aResponse.code, t1, t2, requestSize, responseSize)
return aResponse
}
}

통사론

목표-c

+ (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;

빠른 [#swift]

func noticeNetworkRequest(for: URL, httpMethod: String, with: NRTimer, responseHeaders: [AnyHashable : Any], statusCode: Int, bytesSent: UInt, bytesReceived: UInt, responseData: Data, traceHeaders: [String : String], andParams: [AnyHashable : Any])

설명 [#description]

New Relic은 URL, 응답 시간, 상태 코드, 송수신 데이터를 추적합니다.

응답 헤더의 사전에 X-NewRelic-AppData 헤더가 포함된 경우 New Relic은 모바일 앱과 웹 서버 간의 연결을 추적하고 New Relic UI는 서버 대 네트워크 대 대기열 시간의 상관 관계 및 비교를 표시합니다.

HTTP 상태 코드가 오류(400 이상)를 나타내는 경우 New Relic은 이 요청도 오류로 추적합니다. 요청 헤더의 사전과 응답 본문 데이터는 New Relic UI에서 서버 오류로 인코딩됩니다.

매개변수 [#parameters]

매개변수

유형

설명

$url

NSURL

필수의. 요청의 URL입니다.

$httpMethod

string

필수의. 요청의 HTTP 메서드입니다.

$timer

NRTimer

필수의. 요청의 시작과 끝을 캡처하는 타이머입니다.

$startTime

double

선택 과목. 요청의 종료 시간을 캡처하는 double입니다. startTimeendTime timer 대신 사용할 수 있습니다.

$endTime

double

선택 과목. 요청의 종료 시간을 캡처하는 double입니다. ( startTimeendTime timer 대신 사용할 수 있음)

$responseHeaders

NSDictionary

필수의. 서버 응답에서 반환된 헤더의 사전입니다.

$httpStatusCode

NSUInteger

필수의. HTTP 응답의 상태 코드입니다.

$bytesSent

NSUInteger

필수의. 요청 본문에서 보낸 바이트 수입니다.

$bytesReceived

NSUInteger

필수의. 응답 본문에서 수신된 바이트 수입니다.

$responseData

NSData

필수의. 서버에서 반환한 응답 본문 데이터입니다. 추적된 서버 오류를 기록할 때 사용됩니다.

$traceHeaders

NSDictionary

널 입력 가능. 분산 추적에 사용됩니다.

$params

NSDictionary

널 입력 가능. 미사용.

[#examples]

오브젝티브-C [#obj-c]

다음은 HTTP 트랜잭션을 추적하는 예입니다.

[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 noticeNetworkRequestForURL:[NSURL URLWithString:@"https://www.newrelic.com"] httpMethod:@"GET" startTime:0.0 endTime:0.1
responseHeaders:@{} statusCode:200 bytesSent:1024 bytesReceived:52
responseData:[NSData data] traceHeaders:nil andParams:nil];

빠른 [#swift]

다음은 HTTP 트랜잭션을 추적하는 예입니다.

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)

다음은 시작 및 종료 시간이 있는 예입니다.

NewRelic.noticeNetworkRequest(for: URL(string: "https://www.newrelic.com"), httpMethod: "GET", startTime: 0.0, endTime: 0.1, responseHeaders: [:],
statusCode: 200, bytesSent: 1000, bytesReceived: 1000, responseData: Data(), traceHeaders: nil, andParams: nil)

통사론

noticeHttpTransaction(options: { url: string; method: string; status: number; startTime: number; endTime: number; bytesSent: number; bytesReceived: number; body: string; }) => void

설명 [#description]

응답 본문을 보내는 옵션과 함께 HTTP 트랜잭션을 수동으로 기록합니다.

매개변수 [#parameters]

매개변수

유형

설명

url

string

필수의. 요청의 URL입니다.

method

string

필수의. 요청의 HTTP 메서드입니다.

status

number

필수의. 응답의 HTTP 상태 코드입니다.

startTime

number

선택 과목. 에포크 이후의 요청 시작 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

endTime

number

선택 과목. Epoch 이후 요청의 종료 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

bytesSent

number

필수의. 요청에서 보낸 바이트 수입니다.

bytesReceived

number

필수의. 응답에서 수신된 바이트 수입니다.

body

string

선택 과목. HTTP 응답의 응답 본문입니다.

예시 [#example]

NewRelicCapacitorPlugin.noticeHttpTransaction({
url: "https://fakewebsite.com",
method: "GET",
status: 200,
startTime: Date.now(),
endTime: Date.now(),
bytesSent: 10,
bytesReceived: 2500,
body: "fake http response body 200",
});

통사론

noticeHttpTransaction(url: string, method: string, status: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, body?: string)

설명 [#description]

New Relic Cordova 플러그인은 HTTP 트랜잭션을 자동으로 수집하지만 HTTP 트랜잭션을 수동으로 기록하려면 이 방법을 사용하십시오.

매개변수 [#parameters]

매개변수

유형

설명

url

string

필수의. 요청의 URL입니다.

method

string

필수의. 요청의 HTTP 메서드입니다.

status

number

필수의. 응답의 HTTP 상태 코드입니다.

startTime

number

선택 과목. 에포크 이후의 요청 시작 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

endTime

number

선택 과목. Epoch 이후 요청의 종료 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

bytesSent

number

필수의. 요청에서 보낸 바이트 수입니다.

bytesReceived

number

필수의. 응답에서 수신된 바이트 수입니다.

body?

string

선택 과목. HTTP 응답의 응답 본문입니다.

예시 [#example]

NewRelic.noticeHttpTransaction('https://fakewebsiteurl.com', 'GET', 200, Date.now(), Date.now(), 0, 100000, 'fake request body');

통사론

NoticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;

설명 [#description]

네트워크 요청을 수동으로 추적합니다. 이 메서드를 사용하여 응답 본문을 보내는 옵션과 함께 HTTP 트랜잭션을 기록할 수 있습니다.

매개변수 [#parameters]

매개변수

유형

설명

url

string

필수의. 요청의 URL입니다.

httpmethod

string

필수의. 요청의 HTTP 메서드입니다.

statusCode

int

필수의. 응답의 HTTP 상태 코드입니다.

startTime

long

선택 과목. 에포크 이후의 요청 시작 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

endTime

long

선택 과목. Epoch 이후 요청의 종료 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

bytesSent

long

필수의. 요청에서 보낸 바이트 수입니다.

bytesReceived

long

필수의. 응답에서 수신된 바이트 수입니다.

responseBody

string

선택 과목. HTTP 응답의 응답 본문입니다.

예시 [#example]

CrossNewRelic.Current.NoticeHttpTransaction(
"https://newrelic.com",
"GET",
200,
DateTimeOffset.Now.ToUnixTimeMilliseconds(),
DateTimeOffset.Now.ToUnixTimeMilliseconds() + 100,
0,
1000,
""
);

통사론

noticeHttpTransaction(String url,String httpMethod,int statusCode,int startTime,int endTime,int bytesSent,int bytesReceived,Map<String, dynamic>? traceData,{String responseBody = ""}): void;

설명 [#description]

네트워크 요청을 수동으로 추적합니다. 이 메서드를 사용하여 응답 본문을 보내는 옵션과 함께 HTTP 트랜잭션을 기록할 수 있습니다.

매개변수 [#parameters]

매개변수

유형

설명

url

string

필수의. 요청의 URL입니다.

httpmethod

string

필수의. 요청의 HTTP 메서드입니다.

statusCode

int

필수의. 응답의 HTTP 상태 코드입니다.

startTime

int

선택 과목. 에포크 이후의 요청 시작 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

endTime

int

선택 과목. Epoch 이후 요청의 종료 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

bytesSent

int

필수의. 요청에서 보낸 바이트 수입니다.

bytesReceived

int

필수의. 응답에서 수신된 바이트 수입니다.

traceData

dictionary

선택 과목. 트랜잭션에 대한 추가 정보를 제공하는 데 사용할 수 있는 키-값 쌍의 사전입니다.

responseBody

string

선택 과목. HTTP 응답의 응답 본문입니다.

예시 [#example]

NewrelicMobile.instance.noticeHttpTransaction("https://cb6b02be-a319-4de5-a3b1-361de2564493.mock.pstmn.io/searchpage", "GET",200, 1000, 2000,100,300,null,responseBody: "This is Test Payload");

통사론

noticeHttpTransaction(url: string, httpMethod: string, statusCode: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, responseBody: string): void;

설명 [#description]

네트워크 요청을 수동으로 추적합니다. 이 메서드를 사용하여 응답 본문을 보내는 옵션과 함께 HTTP 트랜잭션을 기록할 수 있습니다.

매개변수 [#parameters]

매개변수

유형

설명

url

string

필수의. 요청의 URL입니다.

httpmethod

string

필수의. 요청의 HTTP 메서드입니다.

statusCode

number

필수의. 응답의 HTTP 상태 코드입니다.

startTime

number

선택 과목. 에포크 이후의 요청 시작 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

endTime

number

선택 과목. Epoch 이후 요청의 종료 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

bytesSent

number

필수의. 요청에서 보낸 바이트 수입니다.

bytesReceived

number

필수의. 응답에서 수신된 바이트 수입니다.

responseBody

string

선택 과목. HTTP 응답의 응답 본문입니다.

예시 [#example]

NewRelic.noticeHttpTransaction('https://github.com', 'GET', 200, Date.now(), Date.now()+1000, 100, 101, "response body");

통사론

noticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;

설명 [#description]

네트워크 요청을 수동으로 추적합니다. 이 메서드를 사용하여 응답 본문을 보내는 옵션과 함께 HTTP 트랜잭션을 기록할 수 있습니다.

매개변수 [#parameters]

매개변수

유형

설명

url

string

필수의. 요청의 URL입니다.

httpmethod

string

필수의. 요청의 HTTP 메서드입니다.

statusCode

int

필수의. 응답의 HTTP 상태 코드입니다.

startTime

long

선택 과목. 에포크 이후의 요청 시작 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

endTime

long

선택 과목. Epoch 이후 요청의 종료 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

bytesSent

long

필수의. 요청에서 보낸 바이트 수입니다.

bytesReceived

long

필수의. 응답에서 수신된 바이트 수입니다.

responseBody

string

선택 과목. HTTP 응답의 응답 본문입니다.

예시 [#example]

NewRelicAgent.NoticeHttpTransaction('https://github.com',
'GET', 200,
DateTimeOffset.Now.ToUnixTimeMilliseconds(),
DateTimeOffset.Now.ToUnixTimeMilliseconds()+1000,
100, 101, "response body",
null);

통사론

NoticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;

설명 [#description]

네트워크 요청을 수동으로 추적합니다. 이 메서드를 사용하여 응답 본문을 보내는 옵션과 함께 HTTP 트랜잭션을 기록할 수 있습니다.

매개변수 [#parameters]

매개변수

유형

설명

url

string

필수의. 요청의 URL입니다.

httpmethod

string

필수의. 요청의 HTTP 메서드입니다.

statusCode

int

필수의. 응답의 HTTP 상태 코드입니다.

startTime

long

선택 과목. 에포크 이후의 요청 시작 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

endTime

long

선택 과목. Epoch 이후 요청의 종료 시간(밀리초)입니다. startTimeendTime timer 대신 사용할 수 있습니다.

bytesSent

long

필수의. 요청에서 보낸 바이트 수입니다.

bytesReceived

long

필수의. 응답에서 수신된 바이트 수입니다.

responseBody

string

선택 과목. HTTP 응답의 응답 본문입니다.

예시 [#example]

CrossNewRelicClient.Current.NoticeHttpTransaction(
"https://newrelic.com",
"GET",
200,
DateTimeOffset.Now.ToUnixTimeMilliseconds(),
DateTimeOffset.Now.ToUnixTimeMilliseconds() + 100,
0,
1000,
""
);
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.