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 Go
Quando l'applicazione effettua chiamate per AWS servizi archiviare dati, scrivere in una coda o inviare notifiche, X-Ray SDK for Go tiene traccia delle chiamate downstream in sottosegmenti. Le risorse tracciate AWS servizi 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.
Per tracciare i client AWS SDK, ingloba l'oggetto client nella chiamata xray.AWS()
come mostrato nel seguente esempio.
Esempio main.go
var dynamo *dynamodb.DynamoDB
func main() {
dynamo = dynamodb.New(session.Must(session.NewSession()))
xray.AWS(dynamo.Client)
}
Quindi, quando utilizzi il client SDK AWS, utilizza la versione withContext
del metodo chiamato e passa ad essa il context
ricavato dall'oggetto http.Request
passato al gestore.
Esempio main.go — chiamata SDK AWS
func listTablesWithContext(ctx context.Context) {
output := dynamo.ListTablesWithContext
(ctx
, &dynamodb.ListTablesInput{})
doSomething(output)
}
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