Tracciamento delle chiamate verso Web Services HTTP a valle con l'SDK X-Ray per .NET - AWS X-Ray

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tracciamento delle chiamate verso Web Services HTTP a valle con l'SDK X-Ray per .NET

Quando la tua applicazione esegue chiamate verso microservizi o API HTTP pubbliche, puoi utilizzare l'SDK X-Ray per .NETGetResponseTracedmetodo delle estensioni perSystem.Net.HttpWebRequestanalizzare tali chiamate e aggiungere l'API al grafo del servizio come servizio a valle.

Esempio HttpWebRequest
using System.Net; using Amazon.XRay.Recorder.Core; using Amazon.XRay.Recorder.Handlers.System.Net; private void MakeHttpRequest() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://names.example.com/api"); request.GetResponseTraced(); }

Per le chiamate asincrone, utilizza GetAsyncResponseTraced.

request.GetAsyncResponseTraced();

Se utilizzi system.net.http.httpclient, usa il gestore della delegazione HttpClientXRayTracingHandler per memorizzare le chiamate.

Esempio HttpClient
using System.Net.Http; using Amazon.XRay.Recorder.Core; using Amazon.XRay.Recorder.Handlers.System.Net; private void MakeHttpRequest() { var httpClient = new HttpClient(new HttpClientXRayTracingHandler(new HttpClientHandler())); httpClient.GetAsync(URL); }

Quando analizzi una chiamata a un'API web a valle, l'SDK X-Ray per .NET memorizza un sottosegmento con informazioni sulla richiesta HTTP e sulla relativa risposta. X-Ray utilizza il sottosegmento per generare un segmento dedotto per l'API.

Esempio Sottosegmento per una chiamata HTTP a valle
{ "id": "004f72be19cddc2a", "start_time": 1484786387.131, "end_time": 1484786387.501, "name": "names.example.com", "namespace": "remote", "http": { "request": { "method": "GET", "url": "https://names.example.com/" }, "response": { "content_length": -1, "status": 200 } } }
Esempio Segmento dedotto per una chiamata HTTP a valle
{ "id": "168416dc2ea97781", "name": "names.example.com", "trace_id": "1-62be1272-1b71c4274f39f122afa64eab", "start_time": 1484786387.131, "end_time": 1484786387.501, "parent_id": "004f72be19cddc2a", "http": { "request": { "method": "GET", "url": "https://names.example.com/" }, "response": { "content_length": -1, "status": 200 } }, "inferred": true }