Rastrear chamadas para serviços web HTTP subsequentes com o X-Ray SDK para .NET - AWS X-Ray

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Rastrear chamadas para serviços web HTTP subsequentes com o X-Ray SDK para .NET

Quando a aplicação faz chamadas para microsserviços ou APIs HTTP públicas, você pode usar o método de extensão GetResponseTraced do X-Ray SDK para .NET para System.Net.HttpWebRequest a fim de instrumentar essas chamadas e adicionar a API ao gráfico de serviço como um serviço subsequente.

exemplo 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(); }

Para chamadas assíncronas, use GetAsyncResponseTraced.

request.GetAsyncResponseTraced();

Se você usa o system.net.http.httpclient, use o manipulador de delegação HttpClientXRayTracingHandler para registrar as chamadas.

exemplo 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 você instrumenta uma chamada para uma API subsequente da web, o X-Ray SDK para .NET registra um subsegmento com informações sobre a solicitação e a resposta HTTP. O X-Ray usa o subsegmento para gerar um segmento inferido para a API.

exemplo Subsegmento para uma chamada HTTP subsequente
{ "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 } } }
exemplo Segmento inferido para uma chamada HTTP subsequente
{ "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 }