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 .NETGetResponseTraced
Erweiterungsversionen fürSystem.Net.HttpWebRequest
diese 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
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
}