Sintaxe
Java
NewRelic.noticeHttpTransaction(string $url, string $httpMethod, int $statusCode, long $startTime, long $endTime, long $bytesSent, long $bytesReceived [, string $responseBody])
Kotlin [#kotlin]
NewRelic.noticeHttpTransaction( url: String?, httpMethod: String?, statusCode: Int, startTimeMs: Long, endTimeMs: Long, bytesSent: Long, bytesReceived: Long, responseBody: String?)
Descrição [#description]
Registre a transação HTTP com a opção de enviar também um corpo de resposta.
Se uma solicitação de rede falhar, você poderá registrar detalhes sobre a falha com noticeNetworkFailure()
.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP usado, como GET ou POST. |
|
| Obrigatório. O statusCode da resposta HTTP, como 200 para OK. |
|
| Obrigatório. A hora de início da solicitação em milissegundos desde a época. |
|
| Obrigatório. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. O corpo da resposta HTTP. O corpo da resposta será truncado e incluído em uma métrica de erro HTTP se a transação HTTP for um erro. |
Exemplos [#examples]
Aqui está um exemplo de rastreamento de uma transação HTTP:
Java [#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 [#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 }}
Sintaxe
Objetivo-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 [#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])
Descrição [#description]
A New Relic rastreará o URL, o tempo de resposta, o código de status e os dados enviados e recebidos.
Se o dicionário do cabeçalho de resposta contiver um cabeçalho X-NewRelic-AppData
, o New Relic rastreará a associação entre o aplicativo móvel e o servidor web, e a interface do New Relic exibirá a correlação e a comparação entre servidor x rede x tempo de fila.
Se o código de status HTTP indicar um erro (400 e superior), a New Relic também rastreará essa solicitação como um erro. O dicionário do cabeçalho da solicitação e os dados do corpo da resposta serão codificados como um erro do servidor na interface do New Relic.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. Um cronômetro que captura o início e o fim da solicitação. |
|
| Opcional. Um double que captura o horário de término da solicitação. |
|
| Opcional. Um double que captura o horário de término da solicitação. ( |
|
| Obrigatório. Um dicionário dos cabeçalhos retornados na resposta do servidor. |
|
| Obrigatório. O código de status da resposta HTTP. |
|
| Obrigatório. O número de bytes enviados no corpo da solicitação. |
|
| Obrigatório. O número de bytes recebidos no corpo da resposta. |
|
| Obrigatório. Os dados do corpo da resposta retornados pelo servidor. Usado ao registrar um erro do servidor de rastreamento. |
|
| Anulável. Usado para distributed tracing. |
|
| Anulável. Não utilizado. |
Exemplos [#examples]
Objective-C [#obj-c]
Aqui está um exemplo de rastreamento de uma transação 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];
Aqui está um exemplo com horários de início e término:
[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 [#swift]
Aqui está um exemplo de rastreamento de uma transação 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)
Aqui está um exemplo com horários de início e término:
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)
Sintaxe
noticeHttpTransaction(options: { url: string, method: string, status: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, body: string,}) => void;
Descrição [#description]
Registra manualmente a transação HTTP, com opção de enviar também um corpo de resposta.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. O código de status HTTP da resposta. |
|
| Opcional. A hora de início da solicitação em milissegundos desde a época. |
|
| Opcional. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. O corpo da resposta HTTP. |
Exemplo [#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",});
Sintaxe
noticeHttpTransaction(url: string, method: string, status: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, body?: string)
Descrição [#description]
O plugin New Relic Cordova coleta automaticamente a transação HTTP, mas se você quiser registrar manualmente a transação HTTP, use este método para fazer isso.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. O código de status HTTP da resposta. |
|
| Opcional. A hora de início da solicitação em milissegundos desde a época. |
|
| Opcional. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. O corpo da resposta HTTP. |
Exemplo [#example]
NewRelic.noticeHttpTransaction('https://fakewebsiteurl.com', 'GET', 200, Date.now(), Date.now(), 0, 100000, 'fake request body');
Sintaxe
NoticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;
Descrição [#description]
Rastreia solicitações de rede manualmente. Você pode usar este método para registrar transações HTTP, com a opção de enviar também um corpo de resposta.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. O código de status HTTP da resposta. |
|
| Opcional. A hora de início da solicitação em milissegundos desde a época. |
|
| Opcional. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. O corpo da resposta HTTP. |
Exemplo [#example]
CrossNewRelic.Current.NoticeHttpTransaction( "https://newrelic.com", "GET", 200, DateTimeOffset.Now.ToUnixTimeMilliseconds(), DateTimeOffset.Now.ToUnixTimeMilliseconds() + 100, 0, 1000, "");
Sintaxe
noticeHttpTransaction(String url,String httpMethod,int statusCode,int startTime,int endTime,int bytesSent,int bytesReceived,Map<String, dynamic>? traceData,{String responseBody = ""}): void;
Descrição [#description]
Rastreia solicitações de rede manualmente. Você pode usar este método para registrar transações HTTP, com a opção de enviar também um corpo de resposta.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. O código de status HTTP da resposta. |
|
| Opcional. A hora de início da solicitação em milissegundos desde a época. |
|
| Opcional. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. Um dicionário de pares de valores principais que pode ser usado para fornecer informações adicionais sobre a transação. |
|
| Opcional. O corpo da resposta HTTP. |
Exemplo [#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");
Sintaxe
noticeHttpTransaction(url: string, httpMethod: string, statusCode: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, responseBody: string): void;
Descrição [#description]
Rastreia solicitações de rede manualmente. Você pode usar este método para registrar transações HTTP, com a opção de enviar também um corpo de resposta.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. O código de status HTTP da resposta. |
|
| Opcional. A hora de início da solicitação em milissegundos desde a época. |
|
| Opcional. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. O corpo da resposta HTTP. |
Exemplo [#example]
NewRelic.noticeHttpTransaction('https://github.com', 'GET', 200, Date.now(), Date.now()+1000, 100, 101, "response body");
Sintaxe
noticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;
Descrição [#description]
Rastreia solicitações de rede manualmente. Você pode usar este método para registrar transações HTTP, com a opção de enviar também um corpo de resposta.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. O código de status HTTP da resposta. |
|
| Opcional. A hora de início da solicitação em milissegundos desde a época. |
|
| Opcional. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. O corpo da resposta HTTP. |
Exemplo [#example]
NewRelicAgent.NoticeHttpTransaction( "https://github.com", "GET", 200, DateTimeOffset.Now.ToUnixTimeMilliseconds(), DateTimeOffset.Now.ToUnixTimeMilliseconds() + 1000, 100, 101, "response body", null);
Sintaxe
NoticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;
Descrição [#description]
Rastreia solicitações de rede manualmente. Você pode usar este método para registrar transações HTTP, com a opção de enviar também um corpo de resposta.
Parâmetro [#parameters]
Parâmetro | Tipo | Descrição |
---|---|---|
|
| Obrigatório. O URL da solicitação. |
|
| Obrigatório. O método HTTP da solicitação. |
|
| Obrigatório. O código de status HTTP da resposta. |
|
| Opcional. A hora de início da solicitação em milissegundos desde a época. |
|
| Opcional. A hora de término da solicitação em milissegundos desde a época. |
|
| Obrigatório. O número de bytes enviados na solicitação. |
|
| Obrigatório. O número de bytes recebidos na resposta. |
|
| Opcional. O corpo da resposta HTTP. |
Exemplo [#example]
CrossNewRelicClient.Current.NoticeHttpTransaction( "https://newrelic.com", "GET", 200, DateTimeOffset.Now.ToUnixTimeMilliseconds(), DateTimeOffset.Now.ToUnixTimeMilliseconds() + 100, 0, 1000, "");