Topik ini menjelaskan mode pengambilan sampel jejak yang didukung oleh Application Real-Time Monitoring Service (ARMS). Anda dapat memilih mode yang sesuai berdasarkan skenario Anda untuk mendapatkan data jejak yang diinginkan dengan biaya rendah.
Istilah
rentang: operasi spesifik dalam permintaan, seperti panggilan jarak jauh atau panggilan metode internal.
root rentang: rentang pertama dalam jejak.
local root rentang: rentang pertama dari jejak dalam layanan tunggal.
konteks rentang: konteks dari sebuah rentang. Konteks rentang terkait dengan operasi spesifik dalam permintaan.
pengambilan sampel berbasis kepala: membuat keputusan pengambilan sampel di muka pada rentang root dan memastikan bahwa seluruh jejak diambil sampelnya.
pengambilan sampel non-berbasis kepala: berlaku jika pengambilan sampel berbasis kepala tidak dipicu, dan dapat dipicu pada rentang root lokal mana pun dalam jejak. Dalam banyak kasus, integritas jejak tidak dapat dijamin.
Kebijakan dan tanda pengambilan sampel
ARMS menyediakan dua kebijakan pengambilan sampel berbasis kepala dan tiga kebijakan pengambilan sampel non-berbasis kepala untuk membantu Anda mengambil sampel data jejak yang signifikan.
Kebijakan pengambilan sampel berbasis kepala
Kebijakan pengambilan sampel non-berbasis kepala
Tanda pengambilan sampel
Tanda pengambilan sampel menentukan apakah akan mengambil sampel data jejak ketika konteks jejak dilewatkan di seluruh proses menggunakan Protokol EagleEye. Kunci dalam header permintaan adalah EagleEye-Sampled, dan nilai validnya adalah:
s0: tidak diambil sampelnya
s1: diambil sampelnya
Tanda pengambilan sampel juga dapat mencatat alasan pengambilan sampel di rentang root lokal tempat data jejak diambil sampelnya. Tanda-tanda tersebut disimpan dalam rentang dalam bentuk atribut. Kuncinya adalah sample.reason dan nilai validnya adalah:
s2: pengambilan sampel minimum untuk semua antarmuka
s3: pengambilan sampel kustom
s4: pengambilan sampel laju tetap
s5: dicadangkan
s6: pengambilan sampel adaptif
s7: dicadangkan
s8: pengambilan sampel Edisi Dasar
s9: pengambilan sampel untuk permintaan gagal
s10: pengambilan sampel untuk permintaan lambat
s11: pengambilan sampel untuk panggilan abnormal
Kebijakan pengambilan sampel berbasis kepala
ARMS mendukung dua kebijakan pengambilan sampel berbasis kepala: pengambilan sampel laju tetap dan pengambilan sampel adaptif. Pengambilan sampel laju tetap merupakan kebijakan pengambilan sampel jejak berbasis kepala yang paling umum. Pengambilan sampel adaptif adalah kebijakan pengambilan sampel berbasis kepala hemat biaya yang dikembangkan oleh ARMS.
Pengambilan sampel laju tetap
Jejak diambil sampelnya berdasarkan laju pengambilan sampel yang ditentukan di layanan ingress. Rentang yang diambil sampelnya membawa atribut dengan kunci sample.reason dan nilainya adalah s4.
Untuk mengonfigurasi kebijakan pengambilan sampel laju tetap, ikuti langkah-langkah berikut:
Di bilah navigasi atas, pilih .
Di bagian Sampling Settings, atur parameter Sampling strategy menjadi Laju Pengambilan Sampel Tetap. Di bidang Sample Rate Percentage, masukkan nilai persentase. Misalnya, jika Anda memasukkan 10, laju pengambilan sampel adalah 10%.
CatatanModifikasi berlaku segera. Anda tidak perlu memulai ulang aplikasi. Nilai defaultnya adalah 10. Jika Anda meningkatkan laju pengambilan sampel, sumber daya sistem tambahan akan digunakan. Kami sarankan Anda mempertahankan nilai default.
Klik Simpan.
Pengambilan sampel adaptif
Traffic dari bisnis yang berbeda mungkin bervariasi secara signifikan. Traffic pembacaan antarmuka sering kali jauh lebih besar daripada traffic penulisan, sedangkan data jejak terkait penulisan antarmuka lebih signifikan daripada data jejak terkait pembacaan antarmuka. Untuk mencegah ketidakseimbangan dalam pengambilan sampel antara data jejak yang signifikan dan data jejak yang kurang signifikan, ARMS menyediakan pengambilan sampel adaptif. Jejak dari 1.000 antarmuka dengan permintaan terbanyak diambil sampelnya secara terpisah berdasarkan algoritma Least Frequently Used (LFU). 10 jejak diambil sampelnya untuk setiap jejak tersebut per menit, dan 10 jejak diambil sampelnya untuk semua antarmuka lainnya per menit. Rentang yang diambil sampelnya membawa atribut dengan kunci sample.reason dan nilainya adalah s6.
Untuk mengonfigurasi kebijakan pengambilan sampel adaptif, ikuti langkah-langkah berikut:
Di bilah navigasi atas, pilih .
Di bagian Sampling Settings, atur parameter Sampling strategy menjadi Pengambilan Sampel Adaptif.
CatatanModifikasi berlaku segera. Anda tidak perlu memulai ulang aplikasi.
Klik Save.
Kebijakan pengambilan sampel non-berbasis kepala
Pengambilan sampel berbasis kepala dapat dipicu pada rentang apa pun dalam jejak dan tidak dapat menjamin integritas jejak. Anda mungkin tidak dapat mengambil sampel semua data jejak yang signifikan yang Anda pedulikan, seperti rentang terkait permintaan lambat atau gagal, atau rentang yang jarang atau ditentukan pengguna.
Pengambilan sampel minimum untuk semua antarmuka
Jejak setiap antarmuka secara otomatis diambil sampelnya setidaknya sekali dalam satu menit. Rentang yang diambil sampelnya membawa atribut dengan kunci sample.reason dan nilainya adalah s2.

Pengambilan sampel untuk permintaan gagal atau lambat
Sebelum Anda mengambil sampel jejak untuk permintaan gagal atau lambat, buka halaman detail aplikasi, pilih Konfigurasi > Konfigurasi Kustom dari bilah navigasi atas, lalu aktifkan sakelar Kompresi rantai panggilan di bagian Pengaturan Lanjutan. Sakelar ini diaktifkan secara default.
Jika permintaan memenuhi salah satu kondisi berikut, jejak terkait secara otomatis diambil sampelnya:
Untuk antarmuka HTTP, kode status selain 200 dikembalikan. Untuk antarmuka lainnya, pengecualian dilemparkan oleh metode yang digunakan untuk instrumentasi.
Pengecualian terjadi selama eksekusi internal antarmuka, dan tidak dilemparkan ke layanan ingress kerangka kerja.
Durasi panggilan operasi melebihi ambang batas panggilan lambat yang dikonfigurasi di halaman Konfigurasi Kustom.
CatatanJika kuantil diaktifkan, panggilan dengan durasi lebih besar dari persentil ke-99 dari operasi tersebut juga akan memenuhi aturan pengambilan sampel untuk panggilan lambat.
Rentang yang diambil sampelnya membawa atribut dengan kunci sample.reason dan nilainya adalah s9, s11, atau s10. Nilai spesifiknya tergantung pada kondisi mana yang terpenuhi.

Pengambilan sampel kustom
Anda dapat menentukan nama, awalan, atau akhiran untuk menentukan antarmuka yang ingin Anda ambil sampel jejaknya sepenuhnya. Rentang yang diambil sampelnya membawa atribut dengan kunci sample.reason dan nilainya adalah s3.

Untuk mengonfigurasi kebijakan pengambilan sampel kustom, ikuti langkah-langkah berikut:
Di bilah navigasi atas, pilih .
Di bagian Sampling Settings, tentukan nama antarmuka, awalan, atau akhiran.
CatatanModifikasi berlaku segera. Anda tidak perlu memulai ulang aplikasi.
Klik Simpan.
Diagram Alir
Ambil jejak yang dihasilkan di antara layanan A, B, dan C sebagai contoh. Kebijakan pengambilan sampel yang disebutkan di atas menentukan apakah rentang diambil sampelnya. Diagram alir berikut menggambarkan bagaimana keputusan pengambilan sampel dibuat. Setiap keputusan perlu dibuat ketika permintaan berada di A, B, atau C, dan apakah rentang saat ini adalah rentang root lokal atau rentang root.
Diagram alir menggunakan warna berikut:
Ungu: menunjukkan pengambilan sampel berbasis kepala, yang hanya dipicu pada rentang root jejak. Hanya satu keputusan pengambilan sampel yang dibuat di A.
Biru: memicu pengambilan sampel pada rentang apa pun dalam jejak jika pengambilan sampel berbasis kepala tidak dipicu. Anggaplah A memutuskan untuk tidak mengambil sampel. Ketika permintaan berada di B, B memutuskan apakah akan menerapkan pengambilan sampel kustom, pengambilan sampel minimum, atau tidak sama sekali. Jika pengambilan sampel diterapkan, atribut yang dilampirkan pada rentang diteruskan ke C. Tiga keputusan pengambilan sampel dibuat di A, B, dan C.
Hijau: memicu pengambilan sampel pada rentang apa pun dalam jejak jika pengambilan sampel berbasis kepala, pengambilan sampel kustom, dan pengambilan sampel minimum tidak dipicu. Anggaplah A memutuskan untuk tidak mengambil sampel. Ketika permintaan berada di B, B memutuskan apakah permintaan lambat atau gagal, dan apakah akan menerapkan pengambilan sampel. Jika pengambilan sampel diterapkan, atribut yang dilampirkan pada rentang tidak diteruskan ke C. Tiga keputusan pengambilan sampel dibuat di A, B, dan C.
Referensi
Setelah jejak diambil sampelnya, Anda dapat mengonfigurasi kondisi filter dan dimensi agregasi untuk menganalisis data jejak secara real-time. Untuk informasi lebih lanjut, lihat Analisis jejak.