• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Rastrear solicitações HTTP

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

$url

string

Obrigatório. O URL da solicitação.

$httpMethod

string

Obrigatório. O método HTTP usado, como GET ou POST.

$statusCode

int

Obrigatório. O statusCode da resposta HTTP, como 200 para OK.

$startTime

int

Obrigatório. A hora de início da solicitação em milissegundos desde a época.

$endTime

int

Obrigatório. A hora de término da solicitação em milissegundos desde a época.

$bytesSent

int

Obrigatório. O número de bytes enviados na solicitação.

$bytesReceived

int

Obrigatório. O número de bytes recebidos na resposta.

$responseBody

string

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

$url

NSURL

Obrigatório. O URL da solicitação.

$httpMethod

string

Obrigatório. O método HTTP da solicitação.

$timer

NRTimer

Obrigatório. Um cronômetro que captura o início e o fim da solicitação.

$startTime

double

Opcional. Um double que captura o horário de término da solicitação. startTime e endTime podem ser usados como alternativa a timer.

$endTime

double

Opcional. Um double que captura o horário de término da solicitação. (startTime e endTime podem ser usados como alternativa a timer)

$responseHeaders

NSDictionary

Obrigatório. Um dicionário dos cabeçalhos retornados na resposta do servidor.

$httpStatusCode

NSUInteger

Obrigatório. O código de status da resposta HTTP.

$bytesSent

NSUInteger

Obrigatório. O número de bytes enviados no corpo da solicitação.

$bytesReceived

NSUInteger

Obrigatório. O número de bytes recebidos no corpo da resposta.

$responseData

NSData

Obrigatório. Os dados do corpo da resposta retornados pelo servidor. Usado ao registrar um erro do servidor de rastreamento.

$traceHeaders

NSDictionary

Anulável. Usado para distributed tracing.

$params

NSDictionary

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

url

string

Obrigatório. O URL da solicitação.

method

string

Obrigatório. O método HTTP da solicitação.

status

number

Obrigatório. O código de status HTTP da resposta.

startTime

number

Opcional. A hora de início da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

endTime

number

Opcional. A hora de término da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

bytesSent

number

Obrigatório. O número de bytes enviados na solicitação.

bytesReceived

number

Obrigatório. O número de bytes recebidos na resposta.

body

string

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

url

string

Obrigatório. O URL da solicitação.

method

string

Obrigatório. O método HTTP da solicitação.

status

number

Obrigatório. O código de status HTTP da resposta.

startTime

number

Opcional. A hora de início da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

endTime

number

Opcional. A hora de término da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

bytesSent

number

Obrigatório. O número de bytes enviados na solicitação.

bytesReceived

number

Obrigatório. O número de bytes recebidos na resposta.

body?

string

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

url

string

Obrigatório. O URL da solicitação.

httpmethod

string

Obrigatório. O método HTTP da solicitação.

statusCode

int

Obrigatório. O código de status HTTP da resposta.

startTime

long

Opcional. A hora de início da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

endTime

long

Opcional. A hora de término da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

bytesSent

long

Obrigatório. O número de bytes enviados na solicitação.

bytesReceived

long

Obrigatório. O número de bytes recebidos na resposta.

responseBody

string

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

url

string

Obrigatório. O URL da solicitação.

httpmethod

string

Obrigatório. O método HTTP da solicitação.

statusCode

int

Obrigatório. O código de status HTTP da resposta.

startTime

int

Opcional. A hora de início da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

endTime

int

Opcional. A hora de término da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

bytesSent

int

Obrigatório. O número de bytes enviados na solicitação.

bytesReceived

int

Obrigatório. O número de bytes recebidos na resposta.

traceData

dictionary

Opcional. Um dicionário de pares de valores principais que pode ser usado para fornecer informações adicionais sobre a transação.

responseBody

string

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

url

string

Obrigatório. O URL da solicitação.

httpmethod

string

Obrigatório. O método HTTP da solicitação.

statusCode

number

Obrigatório. O código de status HTTP da resposta.

startTime

number

Opcional. A hora de início da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

endTime

number

Opcional. A hora de término da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

bytesSent

number

Obrigatório. O número de bytes enviados na solicitação.

bytesReceived

number

Obrigatório. O número de bytes recebidos na resposta.

responseBody

string

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

url

string

Obrigatório. O URL da solicitação.

httpmethod

string

Obrigatório. O método HTTP da solicitação.

statusCode

int

Obrigatório. O código de status HTTP da resposta.

startTime

long

Opcional. A hora de início da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

endTime

long

Opcional. A hora de término da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

bytesSent

long

Obrigatório. O número de bytes enviados na solicitação.

bytesReceived

long

Obrigatório. O número de bytes recebidos na resposta.

responseBody

string

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

url

string

Obrigatório. O URL da solicitação.

httpmethod

string

Obrigatório. O método HTTP da solicitação.

statusCode

int

Obrigatório. O código de status HTTP da resposta.

startTime

long

Opcional. A hora de início da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

endTime

long

Opcional. A hora de término da solicitação em milissegundos desde a época. startTime e endTime podem ser usados como alternativa a timer.

bytesSent

long

Obrigatório. O número de bytes enviados na solicitação.

bytesReceived

long

Obrigatório. O número de bytes recebidos na resposta.

responseBody

string

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,
""
);
Copyright © 2024 New Relic Inc.

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