Kebijakan TraceCapture

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

ikon kebijakan

Ringkasan

Kebijakan TraceCapture memungkinkan Anda menambahkan variabel tambahan ke data rekaman aktivitas runtime Apigee. Jika Anda telah mengaktifkan pelacakan terdistribusi untuk runtime Apigee, runtime akan melacak kumpulan variabel yang telah ditentukan secara default. Untuk informasi selengkapnya, lihat Variabel rekaman aktivitas default dalam laporan perekaman aktivitas. Namun, jika Anda ingin runtime Apigee melacak alur, kebijakan, atau variabel kustom tambahan, gunakan kebijakan TraceCapture. Anda dapat menggunakan kebijakan ini dalam alur permintaan atau respons. Dalam laporan pelacakan terdistribusi, Anda dapat melihat variabel yang ditambahkan oleh kebijakan TraceCapture dalam span TraceCaptureExecution.

Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk informasi tentang jenis kebijakan dan implikasi penggunaan, lihat Jenis kebijakan.

<TraceCapture>

Menentukan kebijakan TraceCapture.

Nilai Default T/A
Wajib? Wajib
Jenis Jenis kompleks
Elemen Induk T/A
Elemen Turunan <DisplayName>
<IgnoreUnresolvedVariables>
<ThrowExceptionOnLimit>
<Variables>

Elemen <TraceCapture> menggunakan sintaksis berikut:

Sintaks

<?xml version="1.0" encoding="UTF-8"?>
<TraceCapture continueOnError="true" enabled="true" name="DistributedTraceCapture-1">
    <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
    <Variables>
        <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
        <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
    </Variables>
    <IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables>
    <ThrowExceptionOnLimit>BOOLEAN_VALUE</ThrowExceptionOnLimit>
</TraceCapture>

Contoh

Contoh berikut menunjukkan definisi kebijakan TraceCapture:

<?xml version="1.0" encoding="UTF-8"?>
<TraceCapture continueOnError="true" enabled="true" name="DistributedTraceCapture-1">
    <DisplayName>Distributed-Trace-Capture-Policy-1</DisplayName>
    <Variables>
        <Variable name="trace-variable-1" ref="flow-variable-1">default-val-1</Variable>
        <Variable name="trace-variable-2" ref="flow-variable-2">default-val-2</Variable>
    </Variables>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ThrowExceptionOnLimit>false</ThrowExceptionOnLimit>
</TraceCapture>

Elemen ini memiliki atribut berikut yang umum untuk semua kebijakan:

Atribut Default Wajib? Deskripsi
name T/A Wajib

Nama internal kebijakan. Nilai atribut name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Secara opsional, gunakan elemen <DisplayName> untuk memberi label pada kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.

continueOnError false Opsional Tetapkan ke false untuk menampilkan error saat kebijakan gagal. Perilaku ini wajar terjadi untuk sebagian besar kebijakan. Tetapkan ke true agar eksekusi alur berlanjut meskipun setelah kebijakan gagal. Lihat juga:
enabled benar Opsional Tetapkan ke true untuk menerapkan kebijakan. Tetapkan ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap terlampir ke alur.
async   false Tidak digunakan lagi Atribut ini tidak digunakan lagi.

Tabel berikut memberikan deskripsi umum elemen turunan <TraceCapture>:

Elemen Turunan Wajib? Deskripsi
<DisplayName> Opsional Menentukan nama kustom untuk kebijakan.
<Variables> Opsional Menentukan daftar variabel yang akan dilacak.
<IgnoreUnresolvedVariables> Opsional Menentukan apakah pemrosesan berhenti saat variabel yang belum terselesaikan ditemukan.
<ThrowExceptionOnLimit> Opsional Menentukan apakah variabel harus terpotong jika ukuran variabel melebihi batas 256 byte.
Elemen turunan lainnya
<MergeBehavior> Opsional Menentukan perilaku penggabungan untuk pesan respons.

Referensi elemen turunan

Bagian ini menjelaskan elemen turunan <TraceCapture>.

<DisplayName>

Gunakan selain atribut name untuk memberi label pada kebijakan di editor proxy UI pengelolaan dengan nama yang berbeda dan lebih terdengar alami.

Elemen <DisplayName> umum untuk semua kebijakan.

Nilai Default T/A
Wajib? Opsional. Jika Anda menghilangkan <DisplayName>, nilai atribut name kebijakan akan digunakan.
Jenis String
Elemen Induk <PolicyElement>
Elemen Turunan Tidak ada

Elemen <DisplayName> menggunakan sintaksis berikut:

Sintaks

<PolicyElement>
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  ...
</PolicyElement>

Contoh

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

Elemen <DisplayName> tidak memiliki atribut atau elemen turunan.

<Variables>

Menentukan daftar variabel yang akan dilacak.

Nilai Default T/A
Wajib? Wajib
Jenis Jenis kompleks
Elemen Induk <TraceCapture>
Elemen Turunan <Variable>

Elemen <Variables> menggunakan sintaksis berikut:

Sintaks

<Variables>
    <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
    <Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
</Variables>

Contoh

Contoh berikut melacak variabel alur flow-variable-1 dan flow-variable-2:

<Variables>
    <Variable name="trace-variable-1" ref="flow-variable-1">default-val-1</Variable>
    <Variable name="trace-variable-2" ref="flow-variable-2">default-val-2</Variable>
</Variables>

<Variable>

Menentukan variabel yang akan ditambahkan dalam data rekaman aktivitas.

Nilai Default T/A
Wajib? Wajib
Jenis Jenis kompleks
Elemen Induk <Variables>
Elemen Turunan Tidak ada

Elemen <Variable> menggunakan sintaksis berikut:

Sintaks
<Variable name="TRACE_VARIABLE_NAME" ref="FLOW_VARIABLE_NAME">DEFAULT_VALUE</Variable>
Contoh

Contoh berikut menetapkan variabel rekaman aktivitas trace-variable-1 ke nilai variabel alur flow-variable-1:

<Variable name="trace-variable-1" ref="flow-variable-1">default-val-1</Variable>

Jika variabel alur flow-variable-1 tidak tersedia, trace-variable-1 ditetapkan ke nilai default default-val-1.

Tabel berikut menjelaskan atribut <Variable>:

Atribut Wajib? Jenis Deskripsi
name Wajib String Nama untuk mereferensikan data yang dikumpulkan untuk variabel yang ditentukan. Nama ini akan terlihat dalam laporan pelacakan terdistribusi Anda.
ref Wajib String Variabel yang data rekamannya Anda kumpulkan. Variabel ini dapat berupa variabel alur yang telah ditentukan sebelumnya oleh Apigee atau variabel kustom di proxy API Anda.

<IgnoreUnresolvedVariables>

Menentukan apakah pemrosesan berhenti saat variabel yang belum terselesaikan ditemukan.

Nilai Default T/A
Wajib? Opsional
Jenis Boolean
Elemen Induk <TraceCapture>
Elemen Turunan Tidak ada

Tetapkan ke true untuk mengabaikan variabel yang belum terselesaikan dan melanjutkan pemrosesan; jika tidak, false. Nilai default-nya adalah true.

Menetapkan <IgnoreUnresolvedVariables> ke true berbeda dengan menetapkan continueOnError <TraceCapture> ke true. Jika Anda menetapkan continueOnError ke true, Apigee akan mengabaikan semua error, bukan hanya error dalam variabel.

Elemen <IgnoreUnresolvedVariables> menggunakan sintaksis berikut:

Sintaks

<IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables>

Contoh

Contoh berikut menetapkan <IgnoreUnresolvedVariables> ke false:

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<ThrowExceptionOnLimit>

Menentukan perilaku kebijakan saat ukuran variabel melebihi batas 256 byte.

  • Jika disetel ke true, kebijakan akan menampilkan error jika ukuran variabel melebihi batas.
  • Jika disetel ke false, kebijakan akan memotong variabel yang melebihi batas. Variabel terpotong sesuai ukuran batas.
Nilai Default T/A
Wajib? Opsional
Jenis Boolean
Elemen Induk <TraceCapture>
Elemen Turunan Tidak ada

Elemen <ThrowExceptionOnLimit> menggunakan sintaksis berikut:

Sintaks

<ThrowExceptionOnLimit>BOOLEAN_VALUE</ThrowExceptionOnLimit>

Contoh

Contoh berikut menetapkan nilai <ThrowExceptionOnLimit> ke true.

<ThrowExceptionOnLimit>false</ThrowExceptionOnLimit>

Kode error

Bagian ini menjelaskan kode error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kerusakan Status HTTP Penyebab
steps.tracecapture.UnresolvedVariable 500

Error ini terjadi jika variabel yang ditentukan dalam kebijakan TraceCapture adalah:

  • Di luar cakupan (tidak tersedia dalam alur tertentu tempat kebijakan dijalankan)
  • atau
  • Tidak dapat diselesaikan (tidak ditentukan)
steps.tracecapture.VariableValueLimitExceeded 500

Error ini terjadi jika elemen <ThrowExceptionOnLimit> ditetapkan ke true dan ukuran variabel apa pun melebihi 256 byte.

Variabel error

Setiap kali ada error eksekusi dalam kebijakan, Apigee akan menghasilkan pesan error. Anda dapat melihat pesan error ini dalam respons error. Sering kali, pesan error yang dihasilkan sistem mungkin tidak relevan dalam konteks produk Anda. Anda mungkin ingin menyesuaikan pesan error berdasarkan jenis error untuk membuat pesan lebih bermakna.

Untuk menyesuaikan pesan error, Anda dapat menggunakan aturan error atau kebijakan RaiseFault. Untuk mengetahui informasi tentang perbedaan antara aturan error dan kebijakan RaiseFault, lihat FaultRules vs. kebijakan RaiseFault. Anda harus memeriksa kondisi menggunakan elemen Condition dalam aturan error dan kebijakan RaiseFault. Apigee menyediakan variabel error yang unik untuk setiap kebijakan dan nilai variabel error ditetapkan saat kebijakan memicu error runtime. Dengan menggunakan variabel ini, Anda dapat memeriksa kondisi error tertentu dan mengambil tindakan yang sesuai. Untuk informasi selengkapnya tentang cara memeriksa kondisi error, lihat Mem-build kondisi.

Tabel berikut menjelaskan variabel error khusus untuk kebijakan ini.

Variabel Dari mana Contoh
fault.name fault.name dapat cocok dengan salah satu kesalahan yang tercantum dalam tabel Error runtime. Nama error adalah bagian terakhir dari kode error. fault.name Matches "UnresolvedVariable"
tracecapture.POLICY_NAME.failed POLICY_NAME adalah nama kebijakan yang ditentukan pengguna yang menampilkan error. tracecapture.trace-capture-1.failed = true
Untuk informasi selengkapnya tentang error kebijakan, lihat Yang perlu Anda ketahui tentang error kebijakan.