Tracciamento delle chiamate AWS SDK 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 AWS SDK con X-Ray SDK for .NET

Quando l'applicazione effettua chiamate per Servizi AWS archiviare dati, scrivere in una coda o inviare notifiche, X-Ray SDK for .NET tiene traccia delle chiamate downstream in sottosegmenti. Le risorse tracciate Servizi AWS e a cui accedi all'interno di tali servizi (ad esempio, un bucket Amazon S3 o una coda Amazon SQS) vengono visualizzate come nodi downstream sulla mappa di traccia nella console X-Ray.

Puoi strumentare tutti i tuoi AWS SDK for .NET clienti chiamando prima di crearli. RegisterXRayForAllServices

Esempio SampleController.cs - Strumentazione client 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; });

Per analizzare il client di alcuni servizi e non di altri, chiama RegisterXRay invece di RegisterXRayForAllServices. Sostituisci il testo evidenziato con il nome dell'interfaccia client del servizio.

AWSSDKHandler.RegisterXRay<IAmazonDynamoDB>()

Per tutti i servizi, puoi vedere il nome dell'API richiamata nella console X-Ray. Per un sottoinsieme di servizi, l'SDK X-Ray aggiunge informazioni al segmento per fornire una maggiore granularità nella mappa dei servizi.

Ad esempio, quando si effettua una chiamata con un client DynamoDB con strumentazione, l'SDK aggiunge il nome della tabella al segmento per le chiamate destinate a una tabella. Nella console, ogni tabella appare come un nodo separato nella mappa dei servizi, con un nodo DynamoDB generico per le chiamate che non hanno come destinazione una tabella.

Esempio Sottosegmento per una chiamata a DynamoDB per salvare un elemento
{ "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", } }

Quando si accede alle risorse con nome, le chiamate ai seguenti servizi creano ulteriori nodi della mappa del servizio. Le chiamate che non sono hanno come obiettivo risorse specifiche creano un nodo generico per il servizio.

  • Amazon DynamoDB: nome della tabella

  • Amazon Simple Storage Service: nome del bucket e della chiave

  • Amazon Simple Queue Service: nome della coda