Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menelusuri panggilan AWS SDK dengan X-Ray SDK untuk.NET
Saat aplikasi Anda melakukan panggilan AWS layanan untuk menyimpan data, menulis ke antrian, atau mengirim notifikasi, X-Ray SDK for .NET melacak panggilan hilir di subsegmen. Ditelusuri AWS layanan dan sumber daya yang Anda akses dalam layanan tersebut (misalnya, bucket Amazon S3 atau antrean Amazon SQS), muncul sebagai node hilir pada peta jejak di konsol X-Ray.
Anda dapat menginstruksikan semua AWS SDK for .NET klien Anda dengan menelepon RegisterXRayForAllServices
sebelum Anda membuatnya.
contoh SampleController.cs - instrumentasi klien 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;
});
Untuk instrumen klien agar beberapa layanan dan bukan yang lain, hubungi RegisterXRay
sebagai gantinya RegisterXRayForAllServices
. Mengganti teks yang disorot dengan nama antarmuka klien layanan.
AWSSDKHandler.RegisterXRay<IAmazonDynamoDB
>()
Untuk semua layanan, Anda dapat melihat nama API yang disebut dalam konsol X-Ray. Untuk subset layanan, X-Ray SDK menambahkan informasi ke segmen untuk memberikan lebih banyak perincian di peta layanan.
Sebagai contoh, ketika Anda melakukan panggilan dengan klien DynamoDB berinstrumen, SDK menambahkan nama tabel ke segmen untuk panggilan yang menargetkan tabel. Di konsol tersebut, setiap tabel muncul sebagai simpul terpisah di peta layanan, dengan simpul DynamoDB generik untuk panggilan yang tidak menargetkan tabel.
contoh Subsegmen untuk panggilan ke DynamoDB untuk menyimpan item
{
"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",
}
}
Ketika Anda mengakses sumber daya bernama, panggilan ke layanan berikut membuat simpul tambahan di peta layanan. Panggilan yang tidak menargetkan sumber daya tertentu membuat simpul generik untuk layanan tersebut.
-
Amazon DynamoDB – Nama tabel
-
Amazon Simple Storage Service – Bucket dan nama kunci
-
Amazon Simple Queue Service – Nama antrean