Nachverfolgen von Aufrufen nachgelagerter HTTP-Web-Services mit dem X-Ray SDK for .NET - AWS X-Ray

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Nachverfolgen von Aufrufen nachgelagerter HTTP-Web-Services mit dem X-Ray SDK for .NET

Wenn Ihre Anwendung Microservices oder öffentliche HTTP-APIs aufruft, können Sie das X-Ray SDK für .NETGetResponseTracedErweiterungsversionen fürSystem.Net.HttpWebRequestdiese Aufrufe instrumentieren und die API der Service-Grafik als nachgelagerten Service hinzufügen.

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

Für asynchrone Aufrufe verwenden Sie GetAsyncResponseTraced.

request.GetAsyncResponseTraced();

Zeichnen Sie bei der Verwendung von system.net.http.httpclient Aufrufe mit dem delegierenden HttpClientXRayTracingHandler-Handler auf.

Beispiel 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); }

Wenn Sie einen Aufruf einer nachgelagerten Web-API instrumentieren, erfasst das X-Ray SDK for .NET ein Untersegment mit Informationen über die HTTP-Anforderung und Antwort. X-Ray verwendet das Untersegment, um ein abgeleitetes Segment für die API zu generieren.

Beispiel Untersegment für einen nachgelagerten HTTP-Aufruf

{ "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 } } }

Beispiel Abgeleitetes Segment für einen nachgelagerten HTTP-Anruf

{ "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 }