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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP utilizado, como GET o POST. |
|
| Requerido. El código de estado de la respuesta HTTP, como 200 para OK. |
|
| Requerido. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Requerido. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. Un temporizador que captura el inicio y el final de la solicitud. |
|
| Opcional. Un doble que captura la hora de finalización de la solicitud. |
|
| Opcional. Un doble que captura la hora de finalización de la solicitud. ( |
|
| Requerido. Un diccionario de los encabezados devueltos en la respuesta del servidor. |
|
| Requerido. El código de estado de la respuesta HTTP. |
|
| Requerido. El número de bytes enviados en el cuerpo de la solicitud. |
|
| Requerido. El número de bytes recibidos en el cuerpo de la respuesta. |
|
| Requerido. Los datos del cuerpo de la respuesta devueltos por el servidor. Se utiliza al registrar un error del servidor traza. |
|
| Anulable. Utilizado para rastreo distribuido. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. El código de estado HTTP de la respuesta. |
|
| Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. El código de estado HTTP de la respuesta. |
|
| Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. El código de estado HTTP de la respuesta. |
|
| Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. El código de estado HTTP de la respuesta. |
|
| Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| Opcional. Un diccionario de pares de valores principales que se puede utilizar para proporcionar información adicional sobre la transacción. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. El código de estado HTTP de la respuesta. |
|
| Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. El código de estado HTTP de la respuesta. |
|
| Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| 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 |
---|---|---|
|
| Requerido. La URL de la solicitud. |
|
| Requerido. El método HTTP de la solicitud. |
|
| Requerido. El código de estado HTTP de la respuesta. |
|
| Opcional. La hora de inicio de la solicitud en milisegundos desde el epoch. |
|
| Opcional. La hora de finalización de la solicitud en milisegundos desde el epoch. |
|
| Requerido. El número de bytes enviados en la solicitud. |
|
| Requerido. El número de bytes recibidos en la respuesta. |
|
| 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, "");