Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
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 Secara opsional, gunakan elemen |
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
ke <ThrowExceptionOnLimit>
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:
|
steps.tracecapture.VariableValueLimitExceeded |
500 |
Error ini terjadi jika elemen |
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 |