• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

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.

Crea una propuesta

Seguimiento de solicitudes HTTP

Sintaxis

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?
)

Descripción [#description]

Registre transacciones HTTP con una opción para enviar también un cuerpo de respuesta.

Si falla una solicitud de red, puede registrar detalles sobre el error con noticeNetworkFailure().

Parámetros [#parameters]

Parámetro

Tipo

Descripción

$url

string

Requerido. La URL de la solicitud.

$httpMethod

string

Requerido. El método HTTP utilizado, como GET o POST.

$statusCode

int

Requerido. El código de estado de la respuesta HTTP, como 200 para OK.

$startTime

int

Requerido. La hora de inicio de la solicitud en milisegundos desde el epoch.

$endTime

int

Requerido. La hora de finalización de la solicitud en milisegundos desde el epoch.

$bytesSent

int

Requerido. El número de bytes enviados en la solicitud.

$bytesReceived

int

Requerido. El número de bytes recibidos en la respuesta.

$responseBody

string

Opcional. El cuerpo de la respuesta HTTP. El cuerpo de la respuesta se truncará y se incluirá en una métrica de error HTTP si la transacción HTTP es un error.

Ejemplos [#examples]

A continuación se muestra un ejemplo de seguimiento de una transacción 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
}
}

Sintaxis

C objetivo

+ (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])

Descripción [#description]

New Relic rastreará la URL, el tiempo de respuesta, el código de estado y los datos enviados y recibidos.

Si el diccionario del encabezado de respuesta contiene un encabezado X-NewRelic-AppData, New Relic rastreará la asociación entre la aplicación móvil y el servidor web, y la UI de New Relic mostrará la correlación y comparación del servidor, la red y el tiempo de cola.

Si el código de estado HTTP indica un error (400 y superior), New Relic también rastreará esta solicitud como un error. El diccionario del encabezado de la solicitud y los datos del cuerpo de la respuesta se codificarán como un error del servidor en la UI de New Relic.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

$url

NSURL

Requerido. La URL de la solicitud.

$httpMethod

string

Requerido. El método HTTP de la solicitud.

$timer

NRTimer

Requerido. Un temporizador que captura el inicio y el final de la solicitud.

$startTime

double

Opcional. Un doble que captura la hora de finalización de la solicitud. startTime y endTime se pueden utilizar como alternativa a timer.

$endTime

double

Opcional. Un doble que captura la hora de finalización de la solicitud. (startTime y endTime se pueden utilizar como alternativa a timer)

$responseHeaders

NSDictionary

Requerido. Un diccionario de los encabezados devueltos en la respuesta del servidor.

$httpStatusCode

NSUInteger

Requerido. El código de estado de la respuesta HTTP.

$bytesSent

NSUInteger

Requerido. El número de bytes enviados en el cuerpo de la solicitud.

$bytesReceived

NSUInteger

Requerido. El número de bytes recibidos en el cuerpo de la respuesta.

$responseData

NSData

Requerido. Los datos del cuerpo de la respuesta devueltos por el servidor. Se utiliza al registrar un error del servidor traza.

$traceHeaders

NSDictionary

Anulable. Utilizado para rastreo distribuido.

$params

NSDictionary

Anulable. No usado.

Ejemplos [#examples]

Objective-C [#obj-c]

A continuación se muestra un ejemplo de seguimiento de una transacción 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];

A continuación se muestra un ejemplo con horas de inicio y finalización:

[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]

A continuación se muestra un ejemplo de seguimiento de una transacción 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)

A continuación se muestra un ejemplo con horas de inicio y finalización:

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)

Sintaxis

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

Descripción [#description]

Registra manualmente la transacción HTTP, con la opción de enviar también un cuerpo de respuesta.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

url

string

Requerido. La URL de la solicitud.

method

string

Requerido. El método HTTP de la solicitud.

status

number

Requerido. El código de estado HTTP de la respuesta.

startTime

number

Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

endTime

number

Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

bytesSent

number

Requerido. El número de bytes enviados en la solicitud.

bytesReceived

number

Requerido. El número de bytes recibidos en la respuesta.

body

string

Opcional. El cuerpo de la respuesta HTTP.

Ejemplo [#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",
});

Sintaxis

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

Descripción [#description]

El complemento New Relic Cordova recopila automáticamente las transacciones HTTP, pero si desea registrar manualmente las transacciones HTTP, utilice este método para hacerlo.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

url

string

Requerido. La URL de la solicitud.

method

string

Requerido. El método HTTP de la solicitud.

status

number

Requerido. El código de estado HTTP de la respuesta.

startTime

number

Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

endTime

number

Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

bytesSent

number

Requerido. El número de bytes enviados en la solicitud.

bytesReceived

number

Requerido. El número de bytes recibidos en la respuesta.

body?

string

Opcional. El cuerpo de la respuesta HTTP.

Ejemplo [#example]

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

Sintaxis

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

Descripción [#description]

Realiza un seguimiento de las solicitudes de red manualmente. Puede utilizar este método para registrar transacciones HTTP, con la opción de enviar también un cuerpo de respuesta.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

url

string

Requerido. La URL de la solicitud.

httpmethod

string

Requerido. El método HTTP de la solicitud.

statusCode

int

Requerido. El código de estado HTTP de la respuesta.

startTime

long

Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

endTime

long

Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

bytesSent

long

Requerido. El número de bytes enviados en la solicitud.

bytesReceived

long

Requerido. El número de bytes recibidos en la respuesta.

responseBody

string

Opcional. El cuerpo de la respuesta HTTP.

Ejemplo [#example]

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

Sintaxis

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

Descripción [#description]

Realiza un seguimiento de las solicitudes de red manualmente. Puede utilizar este método para registrar transacciones HTTP, con la opción de enviar también un cuerpo de respuesta.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

url

string

Requerido. La URL de la solicitud.

httpmethod

string

Requerido. El método HTTP de la solicitud.

statusCode

int

Requerido. El código de estado HTTP de la respuesta.

startTime

int

Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

endTime

int

Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

bytesSent

int

Requerido. El número de bytes enviados en la solicitud.

bytesReceived

int

Requerido. El número de bytes recibidos en la respuesta.

traceData

dictionary

Opcional. Un diccionario de pares de valores principales que se puede utilizar para proporcionar información adicional sobre la transacción.

responseBody

string

Opcional. El cuerpo de la respuesta HTTP.

Ejemplo [#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");

Sintaxis

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

Descripción [#description]

Realiza un seguimiento de las solicitudes de red manualmente. Puede utilizar este método para registrar transacciones HTTP, con la opción de enviar también un cuerpo de respuesta.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

url

string

Requerido. La URL de la solicitud.

httpmethod

string

Requerido. El método HTTP de la solicitud.

statusCode

number

Requerido. El código de estado HTTP de la respuesta.

startTime

number

Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

endTime

number

Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

bytesSent

number

Requerido. El número de bytes enviados en la solicitud.

bytesReceived

number

Requerido. El número de bytes recibidos en la respuesta.

responseBody

string

Opcional. El cuerpo de la respuesta HTTP.

Ejemplo [#example]

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

Sintaxis

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

Descripción [#description]

Realiza un seguimiento de las solicitudes de red manualmente. Puede utilizar este método para registrar transacciones HTTP, con la opción de enviar también un cuerpo de respuesta.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

url

string

Requerido. La URL de la solicitud.

httpmethod

string

Requerido. El método HTTP de la solicitud.

statusCode

int

Requerido. El código de estado HTTP de la respuesta.

startTime

long

Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

endTime

long

Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

bytesSent

long

Requerido. El número de bytes enviados en la solicitud.

bytesReceived

long

Requerido. El número de bytes recibidos en la respuesta.

responseBody

string

Opcional. El cuerpo de la respuesta HTTP.

Ejemplo [#example]

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

Sintaxis

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

Descripción [#description]

Realiza un seguimiento de las solicitudes de red manualmente. Puede utilizar este método para registrar transacciones HTTP, con la opción de enviar también un cuerpo de respuesta.

Parámetros [#parameters]

Parámetro

Tipo

Descripción

url

string

Requerido. La URL de la solicitud.

httpmethod

string

Requerido. El método HTTP de la solicitud.

statusCode

int

Requerido. El código de estado HTTP de la respuesta.

startTime

long

Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

endTime

long

Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. startTime y endTime se pueden utilizar como alternativa a timer.

bytesSent

long

Requerido. El número de bytes enviados en la solicitud.

bytesReceived

long

Requerido. El número de bytes recibidos en la respuesta.

responseBody

string

Opcional. El cuerpo de la respuesta HTTP.

Ejemplo [#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.