使用适用于.NET 的 X-Ray SD Amazon K 追踪 SDK 调用 - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用适用于.NET 的 X-Ray SD Amazon K 追踪 SDK 调用

注意

End-of-support 注意 — 2027 年 2 月 25 日, Amazon X-Ray 将停止对 Amazon X-Ray SDKs 和守护程序的支持。2027 年 2 月 25 日之后,您将不再收到更新或发布。有关支持时间表的更多信息,请参阅X-Ray SDK 和守护程序终止支持时间表。我们建议迁移到 OpenTelemetry。有关迁移到的更多信息 OpenTelemetry,请参阅从 X-Ray 仪器迁移到 OpenTelemetry 仪器

当您的应用程序调用 Amazon Web Services 服务 以存储数据、写入队列或发送通知时,X-Ray SDK for .NET 会按子分段跟踪下游的调用。在这些服务(例如,Amazon S3 存储桶或 Amazon SQS 队列)中追踪的资源 Amazon Web Services 服务 和访问的资源在 X-Ray 控制台的跟踪地图上显示为下游节点。

在创建 适用于 .NET 的 Amazon SDK 客户RegisterXRayForAllServices之前,您可以通过致电来检测所有客户。

例 SampleController.cs-DynamoDB 客户端工具
using Amazon; using Amazon.Util; using Amazon.DynamoDBv2; using Amazon.DynamoDBv2.DocumentModel; using Amazon.XRay.Recorder.Core; using Amazon.XRay.Recorder.Handlers.AwsSdk; namespace SampleEBWebApplication.Controllers { public class SampleController : ApiController { AWSSDKHandler.RegisterXRayForAllServices(); private static readonly Lazy<AmazonDynamoDBClient> LazyDdbClient = new Lazy<AmazonDynamoDBClient>(() => { var client = new AmazonDynamoDBClient(EC2InstanceMetadata.Region ?? RegionEndpoint.USEast1); return client; });

要检测一些服务的客户端而不包括另一些服务的客户端,请调用 RegisterXRay 而不是 RegisterXRayForAllServices。使用服务客户端接口的名称替换突出显示的文本。

AWSSDKHandler.RegisterXRay<IAmazonDynamoDB>()

对于所有服务,都可以在 X-Ray 控制台中看到调用的 API 的名称。X-Ray 开发工具包会为一部分服务将信息添加到分段,从而在服务地图中提供更高的粒度。

例如,当使用经过检测的 DynamoDB 客户端发出调用时,对于针对表的调用,开发工具包会将表名称添加到分段中。在控制台中,每个表在服务地图中显示为一个独立的节点,以及没有表作为目标的调用的一般 DynamoDB 节点。

例 对 DynamoDB 进行调用以保存项目的子分段
{ "id": "24756640c0d0978a", "start_time": 1.480305974194E9, "end_time": 1.4803059742E9, "name": "DynamoDB", "namespace": "aws", "http": { "response": { "content_length": 60, "status": 200 } }, "aws": { "table_name": "scorekeep-user", "operation": "UpdateItem", "request_id": "UBQNSO5AEM8T4FDA4RQDEB94OVTDRVV4K4HIRGVJF66Q9ASUAAJG", } }

在您访问指定的资源时,对以下服务的调用会在服务地图中创建额外的节点。没有定向到特定资源的调用,为服务创建了通用节点。

  • Amazon DynamoDB - 表名称

  • Amazon Simple Storage Service - 存储桶和键名称

  • Amazon Simple Queue Service - 队列名称