Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.
Bagian ini menjelaskan cara membuat dan mengelola sesi debug, serta melihat permintaan dan respons data menggunakan UI Apigee dan API.
Menggunakan Offline Debug untuk melihat dan menganalisis sesi debug yang telah diunduh sebelumnya.
Membuat sesi debug
Saat membuat sesi debug, Anda bisa menampilkan data permintaan dan respons di UI untuk permintaan yang dibuat di API atau sumber eksternal lainnya.
Buat sesi debug menggunakan UI atau API Apigee, seperti yang dijelaskan di bagian berikut.
Editor Proxy Baru
Untuk membuat sesi debug di Proxy Editor baru:
Jika Anda menggunakan UI Apigee di Konsol Cloud: Pilih Pengembangan proxy > Proxy API.
Jika Anda menggunakan UI Apigee klasik: Pilih Develop > Proxy API Di panel Proxies, pilih lingkungan untuk proxy yang ingin di-debug.
Pilih proxy API yang ingin Anda debug. Tindakan ini akan menampilkan Editor Proxy Tampilan Ringkasan.
- Klik tab Debug di kiri atas jendela.
- Klik Start Debug Session di kanan atas panel Debug. Ini
menampilkan dialog Start debug session.
Dalam dialog:
- Pilih Environment tempat Anda ingin menjalankan sesi debug.
- (Opsional) Dari menu drop-down Filter, pilih filter yang akan diterapkan.
semua transaksi dalam sesi debug yang Anda buat.
Defaultnya adalah
None (All transactions)
, yang menyertakan semua transaksi di data debug.Untuk informasi tentang cara menggunakan filter, lihat Menggunakan filter dalam sesi debug. Untuk mengetahui informasi tentang filter bawaan, lihat Menggunakan filter standar.
- Klik Mulai.
UI Apigee kini menampilkan tampilan Debug session in progress.
Sesi debug mencatat permintaan selama 10 menit setelah Anda membuat sesi. Tujuan Kolom Berakhir dalam menampilkan jumlah waktu yang tersisa dalam sesi.
Anda tidak akan melihat informasi apa pun ditampilkan dalam panel Debug hingga Anda mengirim permintaan ke yang sedang Anda debug di lingkungan yang dipilih. khusus untuk sesi debug.
Setelah dikirim, permintaan akan ditampilkan di bagian bawah panel kiri.
Catatan: Selama sesi debug aktif, Anda dapat memulai sesi lain dalam UI Apigee. Untuk melakukannya, cukup klik Start Debug Session lagi.
Melihat diagram Gantt untuk transaksi
Untuk melihat detail transaksi (permintaan dan respons) dalam tampilan Debug, klik untuk transaksi, seperti yang ditunjukkan dalam gambar di atas.
Ini menampilkan Diagram Gantt di yang menunjukkan langkah-langkah dalam permintaan dan respons.
Sumbu horizontal pada diagram menunjukkan waktu terjadinya setiap langkah, yang diukur dalam milidetik. Setiap langkah ditunjukkan oleh persegi panjang yang memanjang dari waktu mulai hingga waktu berakhir langkah.
Anda dapat menjalani sesi debug menggunakan tombol Kembali dan Berikutnya di di kanan bawah panel debug. Klik:
- Kembali untuk memindahkan baris yang dipilih ke langkah sebelumnya dalam diagram.
- Berikutnya untuk memindahkan baris yang dipilih ke langkah berikutnya dalam diagram.
Pada contoh yang ditampilkan di atas, diagram menampilkan dua kebijakan yang dijalankan dalam respons:
- ResponsePayload
- Tambahkan CORS
Anda dapat mengklik salah satu langkah ini untuk melihat detailnya. Misalnya, jika mengklik kebijakan Add CORS, Anda akan melihat detail seperti satu yang ditampilkan di bawah ini yang ditampilkan di sebelah bagan Gantt.
Jika Anda kemudian memutuskan untuk mengubah sesuatu dalam konfigurasi kebijakan, Anda dapat mengklik Develop untuk beralih ke tampilan Develop, yang akan menampilkan dua kebijakan yang sama dalam Respons PostFlow.
Membagikan sesi debug
Anda dapat membagikan sesi debug dengan pengguna lain yang memiliki akses ke organisasi Anda dan izin yang diperlukan. Untuk melakukannya, cukup kirimkan URL yang ditampilkan di browser Anda kepada mereka saat Anda melihat sesi debug. Tautan ini hanya berlaku selama 24 jam setelah sesi debug dibuat.
Mendownload sesi debug
Setelah sesi debug selesai, Anda dapat mendownloadnya sehingga Anda dapat menganalisisnya nanti di alat Offline Debug. Kepada Kemudian, klik Download Session di panel sebelah kiri.
Perhatikan bahwa sesi debug dihapus dalam waktu 24 jam setelah sesi selesai, jadi jika Anda ingin melihat sesi debug setelah itu, Anda harus mendownloadnya sebelum tanggal tersebut.
Saat Anda mengunduh sesi debug, nama file download memiliki format 'debug-{session ID}.json', dengan {session id} adalah ID sesi debug. Namun, Anda dapat mengganti nama file jika diinginkan.
Editor Proxy Klasik
Untuk membuat sesi debug di Proxy Editor klasik:
- Login ke UI Apigee.
- Pilih Proxy API dari tampilan utama.
Pilih proxy API yang ingin Anda debug.
Tab Ringkasan akan ditampilkan.
- Klik tab Debug di kanan atas halaman:
Tampilan Debug menampilkan:
- Di panel Start a debug session:
- Dari menu drop-down Env, pilih lingkungan + nomor revisi proxy API yang ingin Anda debug.
- (Opsional) Dari menu drop-down Filter, pilih filter yang akan diterapkan.
semua transaksi dalam sesi debug yang Anda buat.
Defaultnya adalah
None
, yang menyertakan semua transaksi dalam data debug.Untuk informasi tentang cara menggunakan filter, lihat Menggunakan filter dalam sesi debug. Untuk mengetahui informasi tentang filter bawaan, lihat Menggunakan filter standar.
- Klik Start Debug Session.
UI Apigee kini menampilkan detail tentang sesi debug saat ini, termasuk ID-nya, di panel Debug details.
Meskipun UI membuat sesi debug, Anda tetap harus mengirim permintaan sebelum ada data yang harus dikumpulkan.
Dari panel Debug details, Anda dapat melakukan hal berikut:
Ikon Fungsi Deskripsi Download Mendownload data debug sesi aktif, yang kemudian dapat Anda lihat offline. Kembali Kembali ke panel sebelumnya, tempat Anda dapat memulai sesi debug lainnya. Tujuan sesi debug saat ini berlanjut hingga mencapai waktu tunggu atau transaksi penghitungan. Hapus Hapus data sesi debug yang saat ini dipilih. Tindakan ini akan menghapus data, namun tidak menghentikan sesi. Ada batas waktu tunggu default selama 10 menit untuk sesi debug yang Anda mulai UI (berbeda untuk sesi yang dimulai dengan API).
Jam dimulai berjalan segera setelah Anda mengklik Start Debug Session, sehingga Anda dapat memilih untuk tunggu hingga langkah berikutnya sebelum mengklik Start Debug Session untuk memaksimalkan jumlah data yang Anda kumpulkan.
Contoh berikut menampilkan panel Start a debug session:
- Di panel Kirim Permintaan:
- Di kolom URL, masukkan endpoint yang ingin Anda kirim permintaan
tempat mesin terhubung. Atau, tambahkan parameter string kueri ke URL. Anda tidak dapat mengirimkan permintaan
selain
GET
.Cara menemukan URL endpoint
- Buka Admin > Lingkungan > Grup
- URL adalah Nama host untuk lingkungan masing-masing yang ingin Anda gunakan untuk menjalankan sesi debug Anda.
- Klik Kirim.
Apigee mengirimkan permintaan ke URL yang ditentukan. Setiap kali Anda mengklik Kirim, UI Apigee mencatat permintaan tersebut di panel Debug details.
Contoh berikut menunjukkan beberapa permintaan yang berhasil (yang menghasilkan status HTTP kode
200
):Klik Copy untuk menyalin ID debug untuk referensi atau kueri pada masa mendatang.
Selain itu, UI menampilkan data debug dalam Peta Transaksi dan Detail Fase pada panel Kirim Permintaan, dan mengisi Endpoint Proxy, Bagian Header Permintaan, Konten Permintaan, dan Properti, sebagai contoh berikut menampilkan:
Untuk informasi selengkapnya tentang fase, peta transaksi, dan bagian lain dari Kirim Permintaan, lihat Cara membaca debug.
Panel Kirim Permintaan hanya menampilkan data untuk berbasis UI permintaan. Namun, perhatikan bahwa debug juga mencatat data untuk permintaan yang tidak dimulai oleh UI.
Sesi debug sekarang aktif dan mencatat data tentang semua permintaan (kecuali permintaan difilter). Sesi akan tetap aktif hingga waktu tunggu habis atau jumlah permintaan yang dicatat dalam sesi terlampaui.
- Di kolom URL, masukkan endpoint yang ingin Anda kirim permintaan
tempat mesin terhubung. Atau, tambahkan parameter string kueri ke URL. Anda tidak dapat mengirimkan permintaan
selain
- Anda dapat membuat sesi debug dalam jumlah berapa pun di UI. Untuk informasi selengkapnya, lihat Memulai sesi debug lainnya.
Memulai sesi debug lain di UI
Selama sesi debug aktif, Anda dapat memulai sesi lain dalam UI Apigee. Untuk melakukannya, klik ikon panah kembali (
) di bagian Debug details panel:UI akan kembali ke panel Start a debug session, tempat Anda dapat memulai sesi debug.
Kapan sesi debug berakhir?
Anda tidak bisa begitu saja menghentikan sesi debug aktif. Namun, Anda dapat menghapus data sesi aktif, yang dijelaskan dalam Menghapus data sesi debug.
Saat Anda membuat sesi debug, dua properti akan menentukan kapan sesi berakhir:
- timeout: Durasi waktu Anda mengumpulkan data selama sesi. Durasi defaultnya bergantung pada cara Anda memulai sesi (melalui UI atau API). Tujuan nilai maksimum adalah 600 detik (atau 10 menit).
- count: Jumlah permintaan maksimum yang dicatat dalam satu permintaan sesi per Pemroses Pesan. Karena jumlah Pemroses Pesan di sebagian besar klaster bersifat variabel, efek jumlah tersebut tidak dapat diprediksi. Apigee tidak sarankan untuk menyesuaikan setelan ini.
Ketika waktu tunggu atau jumlahnya tercapai, sesi debug untuk Pemroses Pesan tersebut berakhir.
Istilah berikut digunakan untuk menjelaskan status sesi debug:
- sesi aktif adalah sesi debug yang belum mencapai waktu tunggu atau terlampaui setiap total dengan hitungannya. Sesi aktif masih mencatat data permintaan untuk permintaan yang tidak difilter posisi-posisi ini.
- sesi selesai adalah sesi debug yang telah mencapai waktu tunggu atau terlampaui jumlahnya; sesi yang selesai tidak lagi mencatat data permintaan baru dihapus dalam waktu 24 jam sejak sesi berakhir.
Cara membaca debug
Alat debug memiliki dua bagian utama, peta transaksi dan detail fase:
- Peta transaksi menggunakan ikon untuk menandai setiap elemen penting yang terjadi selama transaksi proxy API, termasuk eksekusi kebijakan, kondisional langkah, dan transisi. Arahkan kursor ke ikon mana pun untuk melihat ringkasan tidak akurat atau tidak sesuai. Langkah alur permintaan muncul di sepanjang bagian atas peta transaksi dan respons alur langkah di sepanjang bagian bawah.
- Bagian detail fase di daftar alat informasi tentang pemrosesan internal proxy, termasuk variabel yang ditetapkan atau dibaca, header permintaan dan respons, dan banyak lagi. Klik ikon mana pun untuk melihat detail fase untuk langkah tersebut.
Berikut adalah contoh peta alat debug dengan segmen pemrosesan proxy utama yang diberi label:
Peta transaksi alat debug
Peta transaksi legenda
Tabel berikut menjelaskan intent ikon yang akan Anda lihat dalam transaksi peta. Ikon-ikon ini menandai setiap langkah pemrosesan penting di sepanjang alur proxy.
Ikon peta transaksi
Aplikasi klien yang mengirim permintaan ke ProxyEndpoint dari proxy API. | |
Lingkaran tersebut menandai endpoint transisi dalam alur proxy. Fitur tersebut ada ketika masuk dari klien, saat permintaan masuk ke target, saat respons kembali dari target, dan ketika respons kembali ke klien. | |
Batang tinggi menunjukkan awal segmen alur di alur proxy API. Alur adalah: permintaan ProxyEndpoint, permintaan TargetEndpoint, respons TargetEndpoint, dan Respons ProxyEndpoint. Segmen mencakup PreFlow, Alur Bersyarat, dan {i>PostFlow<i}. Lihat Mengonfigurasi alur untuk informasi selengkapnya. |
|
Menunjukkan bahwa tindakan Analytics terjadi di latar belakang. |
|
Flow kondisional yang dievaluasi ke true (benar). Untuk pengantar alur bersyarat, lihat Mengonfigurasi alur. Perlu diperhatikan bahwa beberapa kondisi dihasilkan oleh Apigee. Sebagai contoh, berikut ini adalah yang digunakan Apigee untuk memeriksa apakah terjadi error dalam EndpointEndpoint: ((error.state equals PROXY_REQ_FLOW) or (error.state equals
PROXY_RESP_FLOW))
|
|
Flow kondisional yang dievaluasi ke salah (false). Untuk pengantar kondisional alur, lihat Mengonfigurasi alur. Perlu diperhatikan bahwa beberapa kondisi dihasilkan oleh Apigee. Sebagai contoh, berikut ini adalah yang digunakan Apigee untuk memeriksa apakah terjadi error dalam TargetEndpoint: (((error.state equals TARGET_REQ_FLOW) or (error.state equals
TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals
RESP_START)))
|
|
Kebijakan. Setiap jenis kebijakan memiliki ikon unik. Yang ini adalah untuk assignMessage lebih lanjut. Ikon ini memungkinkan Anda melihat di mana kebijakan dieksekusi dalam urutan yang benar dan apakah berhasil atau tidak. Anda dapat mengklik ikon kebijakan untuk melihat hasil dilaksanakan dan apakah mereka diharapkan atau tidak. Misalnya, Anda dapat melihat apakah pesan diubah dengan benar atau jika di-{i>cache<i}. Kebijakan yang dilaksanakan dengan benar ditunjukkan oleh tanda centang. Jika terjadi kesalahan, tanda seru berwarna merah akan ditampilkan di ikon. |
|
Target backend yang dipanggil oleh proxy API. | |
Garis waktu menunjukkan berapa lama (dalam milidetik) waktu yang diperlukan untuk memproses selesai. Membandingkan segmen waktu berlalu membantu Anda mengisolasi kebijakan memakan waktu paling lama untuk dieksekusi sehingga memperlambat panggilan API Anda. | |
Epsilon menunjukkan rentang waktu yang lebih kecil dari milidetik. | |
Dinonaktifkan. Muncul di ikon kebijakan jika kebijakan dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat Referensi konfigurasi proxy API. |
|
Error. Muncul di ikon kebijakan saat kondisi Langkah Kebijakan dievaluasi ke false (lihat Variabel dan kondisi flow), atau pada ikon kebijakan RaiseFault setiap kali kebijakan RaiseFault dijalankan. | |
Dilewati. Muncul di ikon kebijakan saat kebijakan tidak dijalankan karena langkah yang dievaluasi ke "false". Lihat Variabel dan kondisi flow untuk informasi selengkapnya. |
Memahami detail fase
Bagian Detail Fase pada alat ini memberitahukan banyak hal tentang status di setiap langkah pemrosesan. Berikut adalah beberapa detail yang diberikan dalam Detail Fase. Klik ikon apa pun pada alat debug untuk melihat detail langkah yang dipilih, atau gunakan Tombol Next/Kembali untuk berpindah dari satu langkah ke langkah lainnya.
Detail Fase | Deskripsi |
Endpoint Proxy | Menunjukkan alur ProxyEndpoint mana yang dipilih untuk dieksekusi. Proxy API dapat memiliki beberapa endpoint proxy yang bernama. |
Variabel |
Mencantumkan variabel alur yang telah dibaca dan diberi nilai oleh kebijakan. Lihat Menggunakan variabel alur. Catatan:
|
Header Permintaan | Mencantumkan header permintaan HTTP. |
Minta Konten | Menampilkan isi permintaan HTTP. |
Properti | Properti mewakili status internal proxy API. Hal ini tidak ditunjukkan oleh secara default. |
Endpoint Target | Menunjukkan TargetEndpoint mana yang dipilih untuk dieksekusi. |
Header Respons | Mencantumkan header respons HTTP. |
Konten Tanggapan | Menampilkan isi respons HTTP. |
PostClientFlow | Menampilkan informasi tentang PostClientFlow, yang dijalankan setelah permintaan dikembalikan ke aplikasi klien yang meminta. Hanya kebijakan MessageLogging yang dapat dilampirkan ke PostClientFlow. PostClientFlow saat ini digunakan terutama untuk mengukur waktu interval antara stempel waktu awal dan akhir untuk pesan respons. |
API Apigee
Untuk membuat sesi debug menggunakan API, kirimkan permintaan POST
ke
referensi:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/debugsessions
Secara opsional, Anda dapat:
- Tetapkan durasi sesi debug (dalam detik) dengan meneruskan properti
timeout
sebagai parameter kueri atau dalam isi permintaan. Jika keduanya ditentukan, nilaitimeout
yang ditentukan dalam isi permintaan akan diprioritaskan. - Filter data dalam sesi debug dengan meneruskan properti
filter
dalam isi permintaan.
Contoh berikut menunjukkan cara membuat sesi debug menggunakan API.
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" \ -X POST \ -H "Authorization: Bearer $TOKEN"
Jika $TOKEN
ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan di
Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl
yang digunakan dalam contoh ini, lihat
Menggunakan curl. Untuk deskripsi tentang
variabel lingkungan yang digunakan,
lihat Menetapkan variabel lingkungan untuk permintaan API Apigee.
Berikut ini contoh responsnya:
{ "name":"56382416-c4ed-4242-6381-591bbf2788cf", "validity":300, "count":10, "tracesize":5120, "timeout":"600" }
Permintaan berikutnya ke proxy API Anda (hingga durasi sesi atau jumlah permintaan maksimum tercapai) akan dievaluasi dan berpotensi disimpan dalam data sesi debug.
Untuk mengetahui informasi selengkapnya, lihat Membuat API sesi debug.
Menyetel durasi sesi debug menggunakan API
Untuk menyetel durasi sesi debug menggunakan API, sertakan baris berikut sebagai payload dalam debug Anda permintaan pembuatan sesi:
{ "timeout":"debug_session_length_in_seconds" }
Contoh berikut membuat sesi debug yang berdurasi hanya 42 detik:
curl https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions" -X "POST" \ -H "Authorization: Bearer $TOKEN" \ -d ' { "timeout":"42" } '
Anda dapat menetapkan timeout
sesi hanya dalam permintaan pembuatan sesi debug; kamu tidak bisa
mengubah durasi sesi setelah Anda membuat sesi.
Nilai default timeout
adalah 300 (5 menit). Nilai maksimum adalah 600 detik
(10 menit).
Melakukan debug dengan alat debug
Debug memungkinkan Anda melihat banyak detail internal tentang proxy API. Contoh:
- Anda dapat melihat sekilas kebijakan mana yang dijalankan dengan benar atau gagal.
- Katakanlah Anda melihat melalui salah satu dasbor Analytics bahwa salah satu API Anda mengalami penurunan performa yang tidak biasa. Sekarang, Anda dapat menggunakan Debug untuk membantu mengidentifikasi tempat terjadinya bottleneck. Debug memberikan waktu, dalam milidetik, yang diperlukan untuk setiap pemrosesan data. Jika menganggap satu langkah memakan waktu terlalu lama, Anda dapat melakukan korektif tindakan.
- Anda dapat memeriksa {i>header<i} yang dikirim ke backend, melihat variabel yang ditetapkan oleh kebijakan, dan sebagainya.
- Dengan memverifikasi jalur dasar, Anda dapat memastikan bahwa kebijakan mengarahkan pesan ke server yang benar.
Memfilter data dalam sesi debug
Saat membuat sesi debug, Anda dapat menambahkan filter ke sesi tersebut sehingga Apigee hanya menampilkan data yang Anda inginkan. Filter adalah pernyataan kondisional yang dievaluasi oleh Apigee berdasarkan pesan permintaan dan respons untuk menentukan apakah data debugnya harus disertakan dalam sesi debug. Misalnya, Anda dapat memfilter semua permintaan dengan permintaan HTTP yang kurang dari 599 atau membandingkan nilai dalam permintaan dengan variabel kustom.
Perhatikan hal berikut:
- Permintaan yang tidak disertakan dalam sesi debug karena difilter tidak dihitung menuju jumlah maksimum transaksi dalam sesi debug.
- Apigee tidak mendukung penambahan filter di string kueri.
- Anda tidak dapat menambahkan filter ke sesi debug setelah sesi dimulai. Untuk menambahkan filter, Anda harus membuat sesi debug.
Menggunakan filter
Gunakan filter saat membuat sesi debug menggunakan UI atau API Apigee, seperti yang dijelaskan di bagian berikut.
UI Apigee Klasik
Saat membuat sesi debug di UI, dalam menu drop-down Filter, Anda dapat memilih setelan standar filter untuk diterapkan di panel Mulai sesi debug atau pilih Filter Kustom dan buat versi Anda sendiri dengan sintaksis filter.
API Apigee
Untuk membuat sesi debug dengan filter menggunakan API, sertakan yang berikut ini sebagai payload dalam sesi debug Anda permintaan pembuatan:
{ "filter":"filter_body" }
Untuk informasi tentang cara membuat filter, lihat Sintaksis filter.
Contoh berikut membuat sesi debug yang hanya menyertakan transaksi dengan
header A
sama dengan 42
dan header B
sama dengan 43
, atau
kode kesalahannya adalah ExpectedEOF
:
curl -H "Authorization: Bearer $TOKEN" -X "POST" https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions -d ' { "filter":"(request.header.A == '42' && request.header.B == '43') || fault.code == 'jsonparser.ExpectedEOF'" } '
Anda hanya dapat menentukan filter dalam permintaan pembuatan sesi debug; Anda tidak dapat menambahkan filter ke sesi debug yang ada, dan Anda tidak dapat menghapus filter dari sesi debug aktif.
Filter sintaksis
Filter mendukung sintaksis yang sama dengan yang digunakan oleh kondisi Apigee, seperti yang dijelaskan di Referensi kondisi. Hal ini mencakup:
- Pengelompokan
- Logika AND (
&&
) dan OR (|"
) - Ekspresi jalur
- Operator dan Operand
- Literal
(
null
,true
, danfalse
)
Selain itu, filter dapat mengakses semua variabel alur yang dijelaskan dalam Referensi variabel flow serta variabel kustom. Contoh berikut hanya menunjukkan beberapa variabel alur yang mungkin dapat Anda gunakan dalam filter:
# Response codes: response.status.code <= 599 response.status.code >=301 && response.status.code <=420 # Requests/responses: request.verb == "GET" request.header.A == 'B' || request.queryparam.X == 'Y' # Query parameters: request.queryparam.myparam == 'fish' (request.queryparam.param1 == 'X' || request.queryparam.param2 == 'Y') && request.queryparam.param3 == 'Z' # Faults: fault.code != 'messaging.runtime.RouteFailed' fault.name == 'IPDeniedAccess'
Untuk informasi tentang penggunaan variabel khusus, lihat Cara menggunakan atribut khusus di Apigee di Komunitas Apigee.
Filter UI standar
UI Apigee menyediakan serangkaian filter umum sehingga Anda tidak perlu menulis filter kustom Anda sendiri. Filter standar diringkas dalam tabel berikut.
Nama Filter | Deskripsi |
---|---|
Response Time Greater Than |
Memeriksa masalah latensi saat:
Contoh: target.duration > 420 && client.duration > 1000 Untuk informasi selengkapnya, lihat
|
Response Code |
Memeriksa apakah kode respons HTTP cocok dengan nilai yang ditentukan; misalnya: response.status.code <= 599 |
Header |
Memeriksa apakah header permintaan yang ditentukan sama dengan nilai yang ditentukan; untuk contoh: request.header.cache-control.1 == "16544" |
Path |
Memeriksa apakah permintaan cocok dengan jalur yang ditentukan. Anda dapat menggunakan pencocokan karakter pengganti di nilai; misalnya: request.path == /myproxy/customer/4* |
Query Param |
Memeriksa apakah parameter kueri permintaan yang ditentukan sama dengan nilai yang ditentukan; untuk contoh: request.queryparam.lang == "language:en-us" |
Custom |
Memungkinkan Anda menyisipkan ekspresi Anda sendiri. Anda dapat menggunakan objek apa pun di Referensi variabel flow dan sintaksis dalam Referensi kondisi. Selain itu, Anda dapat menggunakan variabel kustom. Untuk informasi selengkapnya tentang cara membuat filter kustom, lihat Sintaksis filter. |
Melihat sesi debug
Apigee menyimpan data sesi debug selama 24 jam. Anda tidak dapat mengonfigurasi nilai ini; setelah 24 jam, data tersebut tidak akan tersedia lagi. Sebelum waktu tersebut, Anda dapat melihat sesi debug.
Lihat sesi debug terbaru menggunakan UI atau API Apigee, seperti yang dijelaskan di bagian berikut.
Editor Proxy Baru
Untuk melihat sesi debug menggunakan New Proxy Editor:
Jika Anda menggunakan UI Apigee di Konsol Cloud: Pilih Pengembangan proxy > Proxy API.
Jika Anda menggunakan UI Apigee klasik: Pilih Develop > Proxy API Di panel Proxies, pilih lingkungan untuk proxy yang ingin di-debug.
- Pilih proxy yang ingin Anda debug.
- Klik tab Debug.
- Sesi debug terbaru menampilkan daftar sesi debug yang tersedia.
Klik link untuk sesi yang ingin Anda lihat.
Editor Proxy Klasik
Untuk melihat sesi debug menggunakan Editor Proxy Klasik:
- Login ke UI Apigee.
- Pilih Proxy API dari tampilan utama.
- Pilih proxy yang ingin Anda debug.
- Klik tab Debug di kanan atas Deployment {i>view<i}.
- Di panel Sesi debug terbaru:
- Dari menu drop-down Env, pilih lingkungan proxy API sesi {i>debug<i} yang ingin Anda lihat.
- Dari menu drop-down Rev, pilih nomor revisi API yang sesi debugnya ingin Anda lihat.
UI Apigee menampilkan daftar sesi debug yang tersedia.
Klik link untuk sesi yang ingin Anda lihat.
UI Apigee memuat sesi debug dan mengisi Kirim Permintaan yang berisi data debug.
Memilih opsi tampilan di UI
Di UI Apigee, Anda dapat memilih opsi tampilan untuk sesi debug.
Opsi | Deskripsi |
Tampilkan Kebijakan yang Dinonaktifkan | Tampilkan kebijakan yang dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat Referensi konfigurasi proxy API. |
Tampilkan Fase yang Dilewati | Menampilkan fase yang dilewati. Fase yang dilewati terjadi saat kebijakan tidak dijalankan karena kondisi langkah yang dievaluasi adalah false (salah). Lihat Kondisi dengan variabel alur untuk informasi selengkapnya. |
Tampilkan semua FlowInfos | Merepresentasikan transisi dalam segmen alur. |
Membandingkan Fase yang Dipilih Secara Otomatis | Membandingkan fase yang dipilih dengan fase sebelumnya. Nonaktifkan untuk melihat yang dipilih saja fase sebelumnya. |
Tampilkan Variabel | Menampilkan atau menyembunyikan variabel yang telah dibaca dan/atau diberi nilai. |
Tampilkan Properti | Properti mewakili status internal proxy API. (Tersembunyi secara default.) |
API Apigee
Dengan menggunakan API, Anda dapat:
- Lihat semua sesi debug
- Melihat semua transaksi untuk sesi debug
- Melihat data transaksi untuk sesi debug
Melihat semua sesi debug menggunakan API
Untuk melihat semua sesi debug terbaru yang ditentukan untuk revisi proxy API di suatu lingkungan, keluarkan permintaan GET ke resource berikut:
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions
Atau, Anda dapat menentukan salah satu parameter kueri berikut untuk mengontrol jumlah data dikembalikan:
- pageSize: Jumlah maksimum sesi debug yang akan dicantumkan. Ukuran halaman default adalah 25.
- pageToken: Token halaman, yang ditampilkan dari panggilan sebelumnya, yang dapat Anda gunakan untuk mengambil halaman berikutnya.
Contoh berikut menunjukkan cara melihat sesi debug untuk revisi 1 dari
Proxy API helloworld
di lingkungan test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Jika $TOKEN
ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan di
Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl
yang digunakan dalam contoh ini, lihat
Menggunakan curl. Untuk deskripsi tentang
variabel lingkungan yang digunakan,
lihat Menetapkan variabel lingkungan untuk permintaan API Apigee.
Respons mencakup objek sessions
yang berisi daftar
sesi debug aktif, seperti yang ditunjukkan dalam contoh berikut:
{ "sessions": [ { "id": "a423ac73-0902-4cfa-4242-87a353a84d87", "timestamp_ms": 1566330186000 }, { "id": "f1eccbbe-1fa6-2424-83e4-3d063b47728a", "timestamp_ms": 1566330286000 } ] }
Hanya sesi debug yang berisi setidaknya satu transaksi yang disertakan dalam respons; debug sesi yang tidak memiliki transaksi apa pun tidak termasuk dalam daftar ini.
Untuk informasi selengkapnya, lihat Daftar Debug Session API.
Melihat semua transaksi untuk sesi debug menggunakan API
Untuk melihat daftar transaksi untuk sesi debug, kirimkan permintaan GET ke resource berikut:
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data
Dengan debugsession adalah ID sesi debug yang ditampilkan saat Anda melihat sesi debug.
Contoh berikut menunjukkan cara melihat transaksi untuk sesi debug untuk revisi 1 dari helloworld
API di lingkungan test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Jika $TOKEN
ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan di
Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl
yang digunakan dalam contoh ini, lihat
Menggunakan curl. Untuk deskripsi tentang
variabel lingkungan yang digunakan,
lihat Menetapkan variabel lingkungan untuk permintaan API Apigee.
Respons mencakup array ID transaksi, seperti yang ditunjukkan pada contoh berikut:
[ "myorg-test-ver-5qxdb-64", "myorg-test-ver-5qxdb-65", "myorg-test-ver-5qxdb-66", "myorg-test-ver-5qxdb-67", "myorg-test-ver-5qxdb-68", "myorg-test-ver-5qxdb-69", "myorg-test-ver-5qxdb-70", "myorg-test-ver-5qxdb-71", "myorg-test-ver-5qxdb-72" ]
Untuk informasi selengkapnya, lihat Mencantumkan API data sesi debug.
Melihat data transaksi untuk sesi debug menggunakan API
Untuk melihat data transaksi sesi debug, kirimkan permintaan GET ke resource berikut:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/debugsessions/{debugsession}/data/{transactionId}
Dengan debugsession adalah ID sesi debug yang ditampilkan saat Anda melihat sesi debug dan transactionId adalah ID transaksi yang ditampilkan saat Anda Melihat daftar transaksi untuk sesi debug.
Data transaksi yang disimpan selama sesi debug diformat dalam JSON. Anda dapat memuat data ini dengan Alat Debug Offline.
Contoh berikut menunjukkan cara mendownload data transaksi untuk sesi debug untuk revisi 1 dari helloworld
API di lingkungan test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data/myorg-test-ver-5qxdb-64" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Jika $TOKEN
ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan di
Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl
yang digunakan dalam contoh ini, lihat
Menggunakan curl. Untuk deskripsi tentang
variabel lingkungan yang digunakan,
lihat Menetapkan variabel lingkungan untuk permintaan API Apigee.
Respons terdiri dari payload JSON yang berisi data untuk hal yang ditentukan transaksi, seperti yang dijelaskan di Download struktur data.
Data debug berisi semua informasi tentang permintaan dan respons untuk masing-masing sebagai bagian dari alur dalam format JSON eksklusif. Anda dapat menyimpan data ini dan menggunakannya nanti di Alat Debug Offline.
Jika tidak ada permintaan yang ditambahkan ke sesi sebelum sesi berakhir, maka responsnya akan terlihat seperti ini hal berikut:
[]
Untuk mengetahui informasi selengkapnya, lihat Mendapatkan API data sesi debug.
Mendownload data sesi debug
Anda dapat mendownload file hasil debug mentah untuk dilihat secara offline. Yang didownload menunjukkan detail lengkap sesi debug termasuk isi dari semua {i>header<i}, variabel, dan kebijakan.
Data sesi debug hanya tersedia untuk didownload atau dilihat di UI selama 24 jam. Setelah itu Apigee akan menghapus data sesi tersebut.
Editor Proxy Baru
Untuk mendownload sesi debug saat ini di Proxy Editor baru, klik Download Session di panel kiri tampilan Debug.
Perhatikan bahwa sesi debug dihapus dalam waktu 24 jam setelah sesi selesai, jadi jika Anda ingin melihat sesi debug setelah itu, Anda harus mendownloadnya sebelum tanggal tersebut.
Editor Proxy Klasik
Untuk mendownload data sesi debug saat ini menggunakan Proxy Editor klasik:
- Sesi aktif: Klik ikon Download ( ) di panel Debug details.
- Sesi sebelumnya: Klik nama sesi di bagian Debug terbaru sesi debug, seperti yang dijelaskan dalam Melihat sesi debug. Selanjutnya Klik di panel Debug details.
API Apigee
Untuk melihat ID semua transaksi pada sesi debug saat ini menggunakan Apigee API, masukkan berikut:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data
dengan SESSION_ID adalah ID untuk sesi debug yang ingin Anda download.
Lihat Cantumkan ID transaksi dari sesi debug.
Guna mendapatkan data debug untuk transaksi menggunakan Apigee API, masukkan perintah berikut:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/apis/PROXY/revisions/REV/debugsessions/SESSION_ID/data/TRANSACTION_ID
Download struktur data
Struktur download data sesi debug berbeda untuk UI Apigee dan API Apigee.
UI Apigee Klasik
Saat Anda mendownload data menggunakan UI Apigee, struktur data ini:
- Menyertakan semua transaksi di seluruh sesi
- Menyimpan transaksi dalam array
Messages
- Menyertakan metadata tentang sesi (sebagai objek
DebugSession
)
API Apigee
Anda tidak dapat menggunakan Apigee API untuk melihat seluruh sesi data pada satu waktu; kamu hanya bisa menggunakan API untuk melihat data transaksi individual, seperti yang dijelaskan dalam Melihat sesi debug.
Contoh:
{ "completed": true, "point": [ ... ... }
Mendownload contoh data
Contoh berikut menandai objek metadata DebugSession
dalam file yang didownload
layanan otomatis dan data skalabel. Objek ini diikuti oleh array Messages
yang berisi transaksi
dalam sesi panggilan.
{
"DebugSession": {
"Retrieved": "2019-06-08T13:08:13.395Z",
"Organization": "myorg",
"Environment": "prod",
"API": "myproxy",
"Revision": "1",
"SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9"
},
"Messages": [
{
"completed": true,
"point": [
{
"id": "Paused"
},
{
"id": "Resumed"
},
{
"id": "StateChange",
"results": [
{
"ActionResult": "DebugInfo",
"properties": {
"property": [
{
"name": "To",
"value": "REQ_HEADERS_PARSED"
},
{
"name": "From",
"value": "REQ_START"
}
]
},
"timestamp": "8-6-19 13:08:37:718"
},
{
"ActionResult": "RequestMessage",
"headers": [
{
"name": "accept",
"value": "*/*"
},
{
"name": "accept-encoding",
"value": "gzip,gzip,deflate,br"
},
{
"name": "content-length",
"value": "0"
},
{
"name": "host",
"value": "myorg.example.domain.net"
},
{
"name": "user-agent",
"value": "Google-Apigee"
},
{
"name": "x-b3-sampled",
"value": "0"
},
{
"name": "x-b3-spanid",
"value": "d4ee579206759662"
},
{
"name": "x-b3-traceid",
"value": "adc1e171777c237dd4ee579206759662"
},
{
"name": "x-forwarded-for",
"value": "66.102.8.98"
},
{
"name": "x-forwarded-proto",
"value": "https"
},
{
"name": "x-request-id",
"value": "54e05cba-4242-4490-4242-60c45c156f90"
}
],
"uRI": "/myproxy",
"verb": "GET"
}
]
},
{
"id": "FlowInfo",
"results": [
{
"ActionResult": "DebugInfo",
"properties": {
"property": [
{
"name": "environment.name",
"value": "prod"
},
{
"name": "environment.qualifiedname",
"value": "myorg__prod"
},
{
"name": "environment.orgname",
"value": "myorg"
}
]
},
"timestamp": "8-6-19 13:08:37:718"
}
]
},
{
"id": "FlowInfo",
"results": [
{
"ActionResult": "DebugInfo",
"properties": {
"property": [
{
"name": "organization.name",
"value": "myorg"
}
]
},
"timestamp": "8-6-19 13:08:37:718"
}
]
},
{
"id": "FlowInfo",
"results": [
{
"ActionResult": "DebugInfo",
"properties": {
"property": [
{
"name": "apiproxy.qualifiedname",
"value": "myproxy__1"
},
{
"name": "apiproxy.basepath",
"value": "/"
},
{
"name": "apiproxy.revision",
"value": "1"
},
{
"name": "apiproxy.name",
"value": "myproxy"
}
]
},
"timestamp": "8-6-19 13:08:37:718"
}
]
},
...
...
}
]
}
Jika sesi debug tidak menyertakan permintaan apa pun, array Message
akan kosong,
seperti yang ditunjukkan contoh berikut:
{ "DebugSession": { "Retrieved": "2019-06-08T13:08:13.395Z", "Organization": "myorg", "Environment": "prod", "API": "myproxy", "Revision": "1", "SessionId": "a2a271aa-4242-4ac6-97cb-aec8dcb115a9" }, "Messages": [] }
Menghapus data untuk sesi debug
Hapus data untuk sesi debug menggunakan UI atau API Apigee, seperti yang dijelaskan di bawah bagian.
Editor Proxy Baru
Untuk menghapus sesi debug di Proxy Editor baru:
- Pilih baris untuk sesi yang ingin Anda hapus.
- Klik menu tiga titik di akhir baris dan pilih Hapus.
Editor Proxy Klasik
Klik di panel Debug details untuk sesi debug.
API Apigee
Untuk menghapus semua data sesi debug menggunakan API, keluarkan permintaan DELETE ke resource berikut:
https://apigee.googleapis.com/v1/organizations/org/environments/env/apis/api/revisions/rev/debugsessions/debugsession/data
Dengan debugsession adalah ID sesi debug yang ditampilkan saat Anda melihat sesi debug.
Contoh berikut menunjukkan cara menghapus data sesi debug untuk revisi 1 dari helloworld
API di lingkungan test
.
curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/debugsessions/a423ac73-0902-4cfa-4242-87a353a84d87/data" \ -X DELETE \ -H "Authorization: Bearer $TOKEN"
Jika $TOKEN
ditetapkan ke token akses OAuth 2.0 Anda, seperti yang dijelaskan di
Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi curl
yang digunakan dalam contoh ini, lihat
Menggunakan curl. Untuk deskripsi tentang
variabel lingkungan yang digunakan,
lihat Menetapkan variabel lingkungan untuk permintaan API Apigee.
Jika berhasil, isi respons akan kosong.
Data sesi debug hanya disimpan selama 24 jam. Jika Anda tidak menghapusnya secara eksplisit sebelum waktu tersebut, kemudian Apigee akan menghapusnya untuk Anda.