Penggunaan aturan pengambilan sampel dengan API X-Ray - AWS X-Ray

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penggunaan aturan pengambilan sampel dengan API X-Ray

AWS X-Ray SDK menggunakan API X-Ray untuk mendapatkan aturan pengambilan sampel, laporan hasil pengambilan sampel, dan mendapatkan kuota. Anda dapat menggunakan API ini untuk mendapatkan pemahaman yang lebih baik tentang cara kerja aturan pengambilan sampel, atau untuk menerapkan pengambilan sampel dalam bahasa yang tidak didukung oleh X-Ray SDK.

Mulailah dengan mendapatkan semua aturan pengambilan sampel menggunakan GetSamplingRules.

$ aws xray get-sampling-rules { "SamplingRuleRecords": [ { "SamplingRule": { "RuleName": "Default", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/Default", "ResourceARN": "*", "Priority": 10000, "FixedRate": 0.01, "ReservoirSize": 0, "ServiceName": "*", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 0.0, "ModifiedAt": 1530558121.0 }, { "SamplingRule": { "RuleName": "base-scorekeep", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/base-scorekeep", "ResourceARN": "*", "Priority": 9000, "FixedRate": 0.1, "ReservoirSize": 2, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530573954.0, "ModifiedAt": 1530920505.0 }, { "SamplingRule": { "RuleName": "polling-scorekeep", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/polling-scorekeep", "ResourceARN": "*", "Priority": 5000, "FixedRate": 0.003, "ReservoirSize": 0, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "GET", "URLPath": "/api/state/*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530918163.0, "ModifiedAt": 1530918163.0 } ] }

Output termasuk aturan default dan aturan kustom. Lihat Aturan pengambilan sampel jika Anda belum membuat aturan pengambilan sampel.

Mengevaluasi aturan terhadap permintaan masuk dalam urutan menaik prioritas. Ketika aturan cocok, gunakan nilai tetap dan ukuran reservoir untuk membuat keputusan pengambilan sampel. Catat permintaan sampel dan abaikan (untuk tujuan pelacakan) permintaan tanpa sampel. Hentikan evaluasi aturan ketika keputusan pengambilan sampel dibuat.

Sebuah ukuran aturan reservoir adalah jumlah target pelacakan untuk mencatat per detik sebelum menerapkan nilai tetap. Reservoir berlaku di semua layanan secara kumulatif, sehingga Anda tidak dapat menggunakannya secara langsung. Namun, jika bukan nol, Anda dapat meminjam satu pelacakan per detik dari reservoir sampai X-Ray menetapkan kuota. Sebelum menerima kuota, catat permintaan pertama setiap detik, dan terapkan nilai tetap untuk permintaan tambahan. Nilai tetapnya merupakan angka desimal antara 0 dan 1,00 (100%).

Contoh berikut menunjukkan panggilan ke GetSamplingTargets dengan detail tentang keputusan pengambilan sampel yang dibuat selama 10 detik terakhir.

$ aws xray get-sampling-targets --sampling-statistics-documents '[ { "RuleName": "base-scorekeep", "ClientID": "ABCDEF1234567890ABCDEF10", "Timestamp": "2018-07-07T00:20:06", "RequestCount": 110, "SampledCount": 20, "BorrowCount": 10 }, { "RuleName": "polling-scorekeep", "ClientID": "ABCDEF1234567890ABCDEF10", "Timestamp": "2018-07-07T00:20:06", "RequestCount": 10500, "SampledCount": 31, "BorrowCount": 0 } ]' { "SamplingTargetDocuments": [ { "RuleName": "base-scorekeep", "FixedRate": 0.1, "ReservoirQuota": 2, "ReservoirQuotaTTL": 1530923107.0, "Interval": 10 }, { "RuleName": "polling-scorekeep", "FixedRate": 0.003, "ReservoirQuota": 0, "ReservoirQuotaTTL": 1530923107.0, "Interval": 10 } ], "LastRuleModification": 1530920505.0, "UnprocessedStatistics": [] }

Respons dari X-Ray mencakup kuota untuk digunakan daripada meminjam dari reservoir. Dalam contoh ini, layanan meminjam 10 peristiwa dari reservoir selama lebih dari 10 detik, dan menerapkan nilai tetap 10 persen untuk 100 permintaan lainnya, mengakibatkan total 20 permintaan sampel. Kuota tersebut bagus selama lima menit (ditunjukkan dengan waktu untuk tayang) atau sampai kuota baru ditetapkan. X-Ray juga dapat menetapkan interval pelaporan yang lebih lama daripada default, meskipun tidak ada di sini.

catatan

Respons dari X-Ray mungkin tidak termasuk kuota saat pertama kali Anda memanggilnya. Lanjutkan peminjaman dari reservoir sampai Anda diberi kuota.

Dua bidang lainnya dalam respons mungkin menunjukkan masalah dengan input. Periksa LastRuleModification untuk terakhir kali Anda menelepon GetSamplingRules. Jika lebih baru, dapatkan salinan aturan baru. UnprocessedStatistics dapat mencakup kesalahan yang menunjukkan bahwa aturan telah dihapus, dokumen statistik dalam input terlalu tua, atau izin mengalami kesalahan.