Syntaxe
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?)
Description [#description]
Enregistrez les transactions HTTP avec une option permettant également d'envoyer un corps de réponse.
Si une demande réseau échoue, vous pouvez enregistrer les détails de l’échec avec noticeNetworkFailure()
.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP utilisée, telle que GET ou POST. |
|
| Requis. Le code d'état de la réponse HTTP, tel que 200 pour OK. |
|
| Requis. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Requis. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Le corps de la réponse HTTP. Le corps de la réponse sera tronqué et inclus dans une métrique d'erreur HTTP si la transaction HTTP est une erreur. |
Exemples [#examples]
Voici un exemple de suivi d’une transaction 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 }}
Syntaxe
Objectif-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])
Description [#description]
New Relic suivra l'URL, le temps de réponse, le code d'état et les données envoyées et reçues.
Si le dictionnaire de l'en-tête de réponse contient un en-tête X-NewRelic-AppData
, New Relic suivra l'association entre l'application mobile et le serveur Web, et l'interface utilisateur de New Relic affichera la corrélation et la comparaison du temps de serveur, de réseau et de file d'attente.
Si le code d'état HTTP indique une erreur (400 et plus), New Relic suivra également cette demande comme une erreur. Le dictionnaire de l'en-tête de la requête et les données du corps de la réponse seront codés comme une erreur de serveur dans l'interface utilisateur de New Relic.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Un minuteur qui capture le début et la fin de la demande. |
|
| Facultatif. Un double qui capture l'heure de fin de la demande. |
|
| Facultatif. Un double qui capture l'heure de fin de la demande. ( |
|
| Requis. Un dictionnaire des en-têtes renvoyés dans la réponse du serveur. |
|
| Requis. Le code d'état de la réponse HTTP. |
|
| Requis. Le nombre d'octets envoyés dans le corps de la requête. |
|
| Requis. Le nombre d'octets reçus dans le corps de la réponse. |
|
| Requis. Les données du corps de la réponse renvoyées par le serveur. Utilisé lors de l'enregistrement d'une erreur de serveur de trace. |
|
| Nullable. Utilisé pour le tracing distribué. |
|
| Nullable. Inutilisé. |
Exemples [#examples]
Objective-C [#obj-c]
Voici un exemple de suivi d’une transaction 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];
Voici un exemple avec les heures de début et de fin :
[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]
Voici un exemple de suivi d’une transaction 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)
Voici un exemple avec les heures de début et de fin :
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)
Syntaxe
noticeHttpTransaction(options: { url: string, method: string, status: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, body: string,}) => void;
Description [#description]
Enregistre manuellement les transactions HTTP, avec une option permettant également d'envoyer un corps de réponse.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Le code d'état HTTP de la réponse. |
|
| Facultatif. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Facultatif. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Le corps de la réponse HTTP. |
Exemple [#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",});
Syntaxe
noticeHttpTransaction(url: string, method: string, status: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, body?: string)
Description [#description]
Le plugin New Relic Cordova collecte automatiquement les transactions HTTP, mais si vous souhaitez enregistrer manuellement les transactions HTTP, utilisez cette méthode pour le faire.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Le code d'état HTTP de la réponse. |
|
| Facultatif. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Facultatif. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Le corps de la réponse HTTP. |
Exemple [#example]
NewRelic.noticeHttpTransaction('https://fakewebsiteurl.com', 'GET', 200, Date.now(), Date.now(), 0, 100000, 'fake request body');
Syntaxe
NoticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;
Description [#description]
Suivi manuel requests réseau. Vous pouvez utiliser cette méthode pour enregistrer des transactions HTTP, avec une option permettant également d'envoyer un corps de réponse.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Le code d'état HTTP de la réponse. |
|
| Facultatif. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Facultatif. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Le corps de la réponse HTTP. |
Exemple [#example]
CrossNewRelic.Current.NoticeHttpTransaction( "https://newrelic.com", "GET", 200, DateTimeOffset.Now.ToUnixTimeMilliseconds(), DateTimeOffset.Now.ToUnixTimeMilliseconds() + 100, 0, 1000, "");
Syntaxe
noticeHttpTransaction(String url,String httpMethod,int statusCode,int startTime,int endTime,int bytesSent,int bytesReceived,Map<String, dynamic>? traceData,{String responseBody = ""}): void;
Description [#description]
Suivi manuel requests réseau. Vous pouvez utiliser cette méthode pour enregistrer des transactions HTTP, avec une option permettant également d'envoyer un corps de réponse.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Le code d'état HTTP de la réponse. |
|
| Facultatif. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Facultatif. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Un dictionnaire de paires valeur-clé qui peuvent être utilisées pour fournir des informations supplémentaires sur la transaction. |
|
| Facultatif. Le corps de la réponse HTTP. |
Exemple [#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");
Syntaxe
noticeHttpTransaction(url: string, httpMethod: string, statusCode: number, startTime: number, endTime: number, bytesSent: number, bytesReceived: number, responseBody: string): void;
Description [#description]
Suivi manuel requests réseau. Vous pouvez utiliser cette méthode pour enregistrer des transactions HTTP, avec une option permettant également d'envoyer un corps de réponse.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Le code d'état HTTP de la réponse. |
|
| Facultatif. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Facultatif. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Le corps de la réponse HTTP. |
Exemple [#example]
NewRelic.noticeHttpTransaction('https://github.com', 'GET', 200, Date.now(), Date.now()+1000, 100, 101, "response body");
Syntaxe
noticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;
Description [#description]
Suivi manuel requests réseau. Vous pouvez utiliser cette méthode pour enregistrer des transactions HTTP, avec une option permettant également d'envoyer un corps de réponse.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Le code d'état HTTP de la réponse. |
|
| Facultatif. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Facultatif. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Le corps de la réponse HTTP. |
Exemple [#example]
NewRelicAgent.NoticeHttpTransaction( "https://github.com", "GET", 200, DateTimeOffset.Now.ToUnixTimeMilliseconds(), DateTimeOffset.Now.ToUnixTimeMilliseconds() + 1000, 100, 101, "response body", null);
Syntaxe
NoticeHttpTransaction(string url, string httpMethod, int statusCode, long startTime,long endTime, long bytesSent, long bytesReceived, string responseBody): void;
Description [#description]
Suivi manuel requests réseau. Vous pouvez utiliser cette méthode pour enregistrer des transactions HTTP, avec une option permettant également d'envoyer un corps de réponse.
Paramètres [#parameters]
paramètres | Type | Description |
---|---|---|
|
| Requis. L'URL de la demande. |
|
| Requis. La méthode HTTP de la requête. |
|
| Requis. Le code d'état HTTP de la réponse. |
|
| Facultatif. L'heure de début de la requête en millisecondes depuis l'époque. |
|
| Facultatif. L'heure de fin de la requête en millisecondes depuis l'époque. |
|
| Requis. Le nombre d'octets envoyés dans la requête. |
|
| Requis. Le nombre d'octets reçus dans la réponse. |
|
| Facultatif. Le corps de la réponse HTTP. |
Exemple [#example]
CrossNewRelicClient.Current.NoticeHttpTransaction( "https://newrelic.com", "GET", 200, DateTimeOffset.Now.ToUnixTimeMilliseconds(), DateTimeOffset.Now.ToUnixTimeMilliseconds() + 100, 0, 1000, "");