Tracciamento delle chiamate ai servizi Web HTTP downstream con X-Ray SDK for .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 ai servizi Web HTTP downstream con X-Ray SDK for .NET

Nota

Avviso di SDK/Daemon manutenzione a raggi X: il 25 febbraio 2026, X-Ray SDKs/Daemon entrerà in modalità di manutenzione, in cui AWS limiterà le versioni di AWS X-Ray SDK e Daemon per risolvere solo problemi di sicurezza. Per ulteriori informazioni sulla tempistica del supporto, consulta. Cronologia di X-Ray SDK e Daemon Support Ti consigliamo di migrare a. OpenTelemetry Per ulteriori informazioni sulla migrazione a OpenTelemetry, vedere Migrazione dalla strumentazione a raggi X alla strumentazione. OpenTelemetry

Quando l'applicazione effettua chiamate a microservizi o a HTTP pubblico APIs, è possibile utilizzare il metodo di estensione di X-Ray SDK for .NET GetResponseTraced System.Net.HttpWebRequest per strumentare tali chiamate e aggiungere l'API al grafico del servizio come servizio downstream.

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 si effettua una chiamata a un'API Web downstream, l'X-Ray SDK for .NET registra un sottosegmento con informazioni sulla richiesta e sulla risposta HTTP. 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 }