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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

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.