All Products
Search
Document Center

Application Real-Time Monitoring Service:Mode pengambilan sampel jejak untuk agen sebelum versi 3.2.8

Last Updated:Aug 05, 2026

Anda dapat memilih mode yang sesuai dengan skenario Anda untuk mengumpulkan data jejak yang diperlukan dengan biaya lebih rendah.

Pada sebagian besar sistem terdistribusi, tidak setiap jejak perlu direkam. Banyak jejak berisi informasi yang berulang atau berprioritas rendah. Pengambilan sampel membantu mengurangi biaya observabilitas dan menyaring kebisingan yang tidak berguna.

Prinsip dasar pengambilan sampel jejak adalah memprioritaskan perekaman jejak yang paling penting dan paling mungkin diakses. ARMS menyediakan mode pengambilan sampel berikut:

Fixed-rate sampling

Fixed-rate sampling merekam persentase tertentu dari jejak berdasarkan TraceId. Misalnya, laju 10% berarti satu dari setiap 10 jejak direkam. Metode ini memastikan seluruh jejak dipertahankan sepenuhnya atau dibuang sepenuhnya, sehingga mencegah data jejak yang tidak lengkap.

Untuk mengonfigurasi fixed-rate sampling, ikuti langkah-langkah berikut:

  1. Masuk ke ARMS console. Di panel navigasi sebelah kiri, pilih Application Monitoring > Application List.

  2. Di bagian atas halaman Application List, pilih Wilayah tujuan, lalu klik aplikasi target.

    Catatan

    Ikon pada kolom Language memiliki arti sebagai berikut:

    Java icon: Aplikasi Java yang terhubung ke Application Monitoring.

    image: Aplikasi Go yang dipantau oleh Application Monitoring.

    image: Aplikasi Python yang dipantau oleh Application Monitoring.

    -: Aplikasi yang terintegrasi dengan Managed Service for OpenTelemetry.

  3. Di panel navigasi sebelah kiri, klik Application Settings. Pada halaman yang muncul, klik tab Custom Configuration.
  4. Pada bagian sampling rate settings, atur laju pengambilan sampel. Atur sampling mode ke fixed-rate sampling, lalu masukkan nilai persentase pada bidang sampling rate. Misalnya, masukkan 10 untuk 10%.

    Catatan

    Perubahan berlaku langsung tanpa perlu restart aplikasi. Laju pengambilan sampel default berbeda-beda tergantung bahasa: untuk aplikasi Java dan Go, nilai default-nya adalah 10; untuk aplikasi Python, nilai default-nya adalah 100. Laju yang lebih tinggi mengonsumsi lebih banyak sumber daya sistem. Kami menyarankan untuk mempertahankan nilai default.

Adaptive sampling

Untuk lebih mengurangi biaya dan meningkatkan kinerja kueri jejak, ARMS menyediakan adaptive sampling. Berbeda dengan fixed-rate sampling, adaptive sampling menggunakan beberapa kebijakan untuk secara dinamis menentukan apakah suatu jejak perlu diambil sampelnya. Pendekatan ini mengatasi masalah cakupan pada pengambilan sampel laju rendah dan masalah biaya pada pengambilan sampel laju tinggi. Kami merekomendasikan adaptive sampling untuk skenario lalu lintas tinggi atau untuk aplikasi dengan pola lalu lintas yang fluktuatif.

Adaptive sampling menggunakan tiga kebijakan utama: pengambilan sampel penuh untuk API tertentu, pengambilan sampel Top-N untuk API, dan pengambilan sampel minimum untuk API berlalu lintas rendah.

  • Pengambilan sampel penuh untuk API tertentu: Anda dapat menentukan nama, awalan, atau akhiran API untuk menandai API yang memerlukan pengambilan sampel 100%. Semua permintaan ke API tersebut akan memicu pengambilan sampel 100% untuk seluruh jejak. Aktifkan fitur ini hanya untuk API yang paling kritis atau untuk debugging sementara, karena akan meningkatkan jumlah data yang dikumpulkan secara signifikan.

  • Pengambilan sampel Top-N untuk API: Menggunakan algoritma LFU (Least Frequently Used) yang dimodifikasi untuk mengambil sampel sejumlah permintaan terbatas untuk setiap API dalam periode tertentu. Hal ini memastikan bahwa pengumpulan data tidak bertambah secara linier seiring dengan lalu lintas API.

  • Pengambilan sampel minimum untuk API berlalu lintas rendah: Menjamin setidaknya satu jejak diambil sampelnya untuk setiap API dalam periode tertentu. Hal ini memastikan informasi karakteristik bernilai direkam untuk setiap API bisnis, bahkan saat lalu lintas rendah.

Catatan

Saat ini, ARMS hanya memungkinkan Anda menyesuaikan pengaturan untuk pengambilan sampel penuh. Penyesuaian granular untuk pengambilan sampel Top-N dan pengambilan sampel minimum belum didukung.

Untuk mengonfigurasi adaptive sampling, ikuti langkah-langkah berikut:

  1. Masuk ke ARMS console. Di panel navigasi sebelah kiri, pilih Application Monitoring > Application List.

  2. Di bagian atas halaman Application List, pilih Wilayah tujuan, lalu klik aplikasi target.

    Catatan

    Ikon pada kolom Language memiliki arti sebagai berikut:

    Java icon: Aplikasi Java yang terhubung ke Application Monitoring.

    image: Aplikasi Go yang dipantau oleh Application Monitoring.

    image: Aplikasi Python yang dipantau oleh Application Monitoring.

    -: Aplikasi yang terintegrasi dengan Managed Service for OpenTelemetry.

  3. Di panel navigasi sebelah kiri, klik Application Settings. Pada halaman yang muncul, klik tab Custom Configuration.
  4. Pada bagian sampling rate settings, atur laju pengambilan sampel. Atur sampling mode ke adaptive sampling. Anda kemudian dapat menentukan nama, awalan, dan akhiran API yang ingin diambil sampelnya secara penuh.

    Catatan

    Perubahan berlaku langsung tanpa perlu restart aplikasi. Adaptive sampling memerlukan versi agen 2.8.3 atau lebih baru.

Basic Edition sampling

Basic Edition sampling hanya tersedia untuk pengguna Application Monitoring Edisi Dasar. Fitur ini mencakup satu kebijakan pengambilan sampel gratis dan beberapa kebijakan pengambilan sampel kustom.

  • Pengambilan sampel default (Gratis): Secara default, ARMS mengumpulkan satu jejak per menit dari setiap agen tanpa biaya untuk semua API di bawah akun Anda.

  • Kebijakan pengambilan sampel kustom: Anda dapat mengonfigurasi kebijakan pengambilan sampel kustom. Setiap kebijakan dapat mengambil sampel berdasarkan persentase tetap atau kuota traffic tetap, serta dapat diterapkan ke semua atau API tertentu.

Untuk mengonfigurasi kebijakan pengambilan sampel kustom, ikuti langkah-langkah berikut:

  1. Masuk ke ARMS console. Di panel navigasi sebelah kiri, pilih Application Monitoring > Application List.

  2. Di bagian atas halaman Application List, pilih Wilayah tujuan, lalu klik aplikasi target.

    Catatan

    Ikon pada kolom Language memiliki arti sebagai berikut:

    Java icon: Aplikasi Java yang terhubung ke Application Monitoring.

    image: Aplikasi Go yang dipantau oleh Application Monitoring.

    image: Aplikasi Python yang dipantau oleh Application Monitoring.

    -: Aplikasi yang terintegrasi dengan Managed Service for OpenTelemetry.

  3. Di panel navigasi sebelah kiri, klik Application Settings. Pada halaman yang muncul, klik tab Custom Configuration.
  4. Pada bagian sampling rate settings, klik Add Client Sampling Policy, atur parameter berikut, lalu klik OK.

    Parameter

    Deskripsi

    Policy Name

    Nama kustom untuk kebijakan pengambilan sampel.

    Sampling Type dan Samples

    • Fixed-rate Sampling: Mengambil sampel jejak berdasarkan proporsi tetap. Jika memilih opsi ini, atur Samples ke persentase tetap, seperti 10%.

    • Traffic Limit: Jika memilih opsi ini, atur Samples ke jumlah jejak yang dikumpulkan setiap agen dalam jendela waktu tertentu. Misalnya, pengaturan 5 jejak per agen per 1 detik berarti setiap agen mengumpulkan maksimal 5 jejak setiap detik.

    Applicable interface

    Tentukan cakupan penerapan kebijakan pengambilan sampel. Anda dapat memilih per span atau memilih Specify a span dan memasukkan nama antarmuka.

    Catatan

    Saat ini, setiap kebijakan pengambilan sampel hanya mendukung satu nama antarmuka. Untuk mengambil sampel jejak dari beberapa antarmuka, Anda harus mengonfigurasi beberapa kebijakan pengambilan sampel.

Contoh kebijakan pengambilan sampel kustom:

  • Untuk API /elastic/update, ambil sampel 20 jejak per menit.

  • Untuk semua API, ambil sampel 20% dari jejak.

Sampling for failed or slow requests

Mode ini mengambil sampel semua rentang terkait untuk suatu permintaan jika memenuhi kriteria berikut:

  • Permintaan gagal. Kegagalan ditentukan oleh salah satu dari dua kondisi berikut:

    • Untuk API HTTP, kode status bukan 2xx atau 3xx.

    • Terjadi exception yang ditangkap oleh metode instrumentasi LocalRootSpan, yang biasanya terjadi ketika exception bisnis dilemparkan ke framework.

  • Durasi panggilan melebihi latensi P99 dari panggilan sebelumnya ke API yang sama. Catatan: Nilai P99 ini dihitung menggunakan bucketing sehingga merupakan perkiraan.

  • Metode internal dalam panggilan melemparkan exception (didukung pada versi agen 4.1.x dan lebih baru).

Kebijakan pengambilan sampel ini tidak menjamin jejak end-to-end yang lengkap. Kebijakan ini hanya menyimpan rentang yang terkait dengan panggilan dalam satu aplikasi.

Informasi tambahan

Untuk mencegah degradasi kinerja selama periode lalu lintas tinggi, ARMS membatasi jumlah jejak yang dapat dikumpulkan agen per detik. Nilai default-nya adalah 100 jejak. Perlindungan ini berlaku untuk fixed-rate sampling maupun adaptive sampling. Anda dapat mengubah batas ini dengan memodifikasi throttling threshold pada tab custom configuration.

Catatan

Kami menyarankan menggunakan nilai default, karena peningkatan nilai tersebut akan mengonsumsi lebih banyak sumber daya sistem.

Dokumen terkait

Setelah jejak dikumpulkan, Anda dapat menganalisis data yang tersimpan secara real time dengan menggabungkan berbagai kondisi filter dan dimensi agregasi. Untuk informasi lebih lanjut, lihat analisis jejak.